| 1 | |
|---|
| 2 | [17:01] JaffaCake: |
|---|
| 3 | hi all! |
|---|
| 4 | [17:01] BSP_: |
|---|
| 5 | afternoon! |
|---|
| 6 | [17:02] JaffaCake: |
|---|
| 7 | so, welcome to the #ghc meeting |
|---|
| 8 | [17:02] JaffaCake: |
|---|
| 9 | I thought today we could talk about version control systems |
|---|
| 10 | [17:03] JaffaCake: |
|---|
| 11 | we're still having issues with darcs, particularly on Windows |
|---|
| 12 | [17:03] BSP_: |
|---|
| 13 | have you investigated upgrading to the darcs2 format at all? |
|---|
| 14 | [17:03] JaffaCake: |
|---|
| 15 | I've tried an experimental conversion, but we haven't used it in anger yet |
|---|
| 16 | [17:04] JaffaCake: |
|---|
| 17 | if we stick with darcs, we'll certainly have to make that switch, becasue the darcs2 format fixes many of the bugs |
|---|
| 18 | [17:05] TMD: |
|---|
| 19 | Is there a solid idea of which darcs + windows bugs are left after a switch? |
|---|
| 20 | [17:05] dcoutts: |
|---|
| 21 | my (humble) opinion is that we should try darcs2 before abandoning darcs completely |
|---|
| 22 | [17:05] JaffaCake: |
|---|
| 23 | the main problem with switch VCs is that we also have all the library repos |
|---|
| 24 | [17:05] JaffaCake: |
|---|
| 25 | s/switch/switching |
|---|
| 26 | [17:05] Igloo: |
|---|
| 27 | We should also work out when a good time to switch (either to darcs2 or something else) is |
|---|
| 28 | [17:05] JaffaCake: |
|---|
| 29 | when we have the fewest active branches, presumably |
|---|
| 30 | [17:05] Igloo: |
|---|
| 31 | I think that just before we fork the 6.10 branch is probably best |
|---|
| 32 | [17:06] nominolo: |
|---|
| 33 | i have a lot of problems with darcs |
|---|
| 34 | [17:06] JaffaCake: |
|---|
| 35 | I believe tailor can recreate branches, even for a darcs2 conversion |
|---|
| 36 | [17:06] Igloo: |
|---|
| 37 | As most of the 6.10 work should be done by then, so VC issues aren't as important |
|---|
| 38 | [17:06] nominolo: |
|---|
| 39 | case-sensitivity issues, looping darcs on ./darcs-all, no bisect |
|---|
| 40 | [17:07] Igloo: |
|---|
| 41 | nominolo: Have you had looping problems since the bandwidth to monk was turned up? |
|---|
| 42 | [17:07] JaffaCake: |
|---|
| 43 | people have lost a lot of time to darcs |
|---|
| 44 | [17:07] nominolo: |
|---|
| 45 | Igloo: yes |
|---|
| 46 | [17:07] BSP_: |
|---|
| 47 | the merge bugs are what are killing me.. |
|---|
| 48 | [17:07] nominolo: |
|---|
| 49 | yesterday |
|---|
| 50 | [17:07] • Igloo |
|---|
| 51 | doesn't understand nominolo's problems |
|---|
| 52 | [17:07] nominolo: |
|---|
| 53 | right, having to avoid confilcts is a PTIA |
|---|
| 54 | [17:07] nominolo: |
|---|
| 55 | *PITA |
|---|
| 56 | [17:07] mainland (n=mainland@eecs-60-dhcp10.eecs.harvard.edu) joined the chat room. |
|---|
| 57 | [17:07] JaffaCake: |
|---|
| 58 | yes, definitely |
|---|
| 59 | [17:08] JaffaCake: |
|---|
| 60 | took me a whole day to merge my parallel GC branch |
|---|
| 61 | [17:08] JaffaCake: |
|---|
| 62 | and there were only 3 minor conflicts |
|---|
| 63 | [17:08] nominolo: |
|---|
| 64 | ouch |
|---|
| 65 | [17:08] BSP_: |
|---|
| 66 | wow |
|---|
| 67 | [17:08] JaffaCake: |
|---|
| 68 | just that one of the conflicts was in an early patch, so I had to replay the whole history |
|---|
| 69 | [17:09] nominolo: |
|---|
| 70 | i tried to convert the ghc repo to darcs2 format a few days ago. except for warnings about lossy conversion (conflicts) i didn't find any problems |
|---|
| 71 | [17:09] JaffaCake: |
|---|
| 72 | can we trust darcs2 enough? |
|---|
| 73 | [17:09] BSP_: |
|---|
| 74 | i did see some complaints about performance regressions in the darcs bug tracker from the GHC team |
|---|
| 75 | [17:09] BSP_: |
|---|
| 76 | for the darcs2 format, that is |
|---|
| 77 | [17:09] JaffaCake: |
|---|
| 78 | darcs2 is definitely slower |
|---|
| 79 | [17:10] JaffaCake: |
|---|
| 80 | I did a local get yesterday, and it takes forever |
|---|
| 81 | [17:10] JaffaCake: |
|---|
| 82 | no idea why |
|---|
| 83 | [17:10] nominolo: |
|---|
| 84 | oh dear |
|---|
| 85 | [17:11] JaffaCake: |
|---|
| 86 | I assume git is the main alternative |
|---|
| 87 | [17:12] Deewiant: |
|---|
| 88 | mercurial would be nicer for windows users |
|---|
| 89 | [17:12] BSP_: |
|---|
| 90 | is it possible to do an incremental switch to darcs2, where we can synchronise patches between the old and new formats? i guess not, but i'm not massively well informed |
|---|
| 91 | [17:12] JaffaCake: |
|---|
| 92 | unless anyone wants to argue for mercurial or bzr? |
|---|
| 93 | [17:12] nominolo: |
|---|
| 94 | i have personally tried git and can say that is has enough features to be useful, and the #git channel seemed very helpful |
|---|
| 95 | [17:12] JaffaCake: |
|---|
| 96 | BSP_: I don't think so, no |
|---|
| 97 | [17:12] matthew-_: |
|---|
| 98 | I read through the mercurial and bzr tutorials over the last couple of days. They seem pretty evenly matched |
|---|
| 99 | [17:12] Deewiant: |
|---|
| 100 | bzr used to be slow, don't know about nowadays |
|---|
| 101 | [17:13] nominolo: |
|---|
| 102 | i think it is more complicated in some cases |
|---|
| 103 | [17:13] JaffaCake: |
|---|
| 104 | I couldn't see how to do things like unrecord and amend-record in mercurial |
|---|
| 105 | [17:13] JaffaCake: |
|---|
| 106 | except for the most recent commit |
|---|
| 107 | [17:13] Deewiant: |
|---|
| 108 | I've never had a need for that but I think that's what the mqueue extension is for |
|---|
| 109 | [17:14] JaffaCake: |
|---|
| 110 | it's very useful to be able to modify your history |
|---|
| 111 | [17:14] JaffaCake: |
|---|
| 112 | before sharing it, that is |
|---|
| 113 | [17:14] matthew-_: |
|---|
| 114 | could you explain why that is better than just adding an extra revision that fixes the mistake? |
|---|
| 115 | [17:15] dcoutts: |
|---|
| 116 | matthew-_: it makes you look like an uber hacker who designs perfectly from day one ;-) |
|---|
| 117 | [17:15] JaffaCake: |
|---|
| 118 | that could cause spurious conflicts later |
|---|
| 119 | [17:15] Deewiant: |
|---|
| 120 | yes, http://www.selenic.com/mercurial/wiki/index.cgi/MqExtension seems to be it |
|---|
| 121 | [17:15] lambdabot: |
|---|
| 122 | Title: MqExtension - Mercurial |
|---|
| 123 | [17:16] ttt-- (n=ubuntu@78-23-117-225.access.telenet.be) left the chat room. (Read error: 110 (Connection timed out)) |
|---|
| 124 | [17:16] JaffaCake: |
|---|
| 125 | thanks Deewiant |
|---|
| 126 | [17:17] Deewiant: |
|---|
| 127 | but you can't mess around with anything in "prehistory" in Mercurial, which I think is a philosophical difference with git? |
|---|
| 128 | [17:17] nominolo: |
|---|
| 129 | rewriting too early isn't exactly safe in Git either |
|---|
| 130 | [17:17] Deewiant: |
|---|
| 131 | i.e. once you're done with the queues and you've made a proper commit, it's final |
|---|
| 132 | [17:17] nominolo: |
|---|
| 133 | at least i encountered some bugs there |
|---|
| 134 | [17:17] Deewiant: |
|---|
| 135 | (except for rollback which can undo the latest) |
|---|
| 136 | [17:17] JaffaCake: |
|---|
| 137 | matthew-_: so maybe I make more mistakes than average :) but I often find that I forgot to include something in a patch. If I make two separate patches, then it's harder for somone else to know that the patches should go together. |
|---|
| 138 | [17:18] matthew-_: |
|---|
| 139 | JaffaCake: but with branch per bug dev model then I tend to treat branches as atomic units |
|---|
| 140 | [17:18] nominolo: |
|---|
| 141 | Deewiant: if you want to do things like bisect it's nice to have every version be correct |
|---|
| 142 | [17:18] nominolo: |
|---|
| 143 | ie, buildable |
|---|
| 144 | [17:18] Deewiant: |
|---|
| 145 | true |
|---|
| 146 | [17:19] matthew-_: |
|---|
| 147 | I guess it depends on how often you merge selected revisions rather than branches, or do cherry picking |
|---|
| 148 | [17:19] JaffaCake: |
|---|
| 149 | we do a lot of cherry picking |
|---|
| 150 | [17:19] nominolo: |
|---|
| 151 | oh, i meant to tell that to matthew-_ |
|---|
| 152 | [17:20] JaffaCake: |
|---|
| 153 | but cherry picking isn't always easy with darcs either, particularly when you want to cherry pick a patch without its dependencies |
|---|
| 154 | [17:20] JaffaCake: |
|---|
| 155 | that works much better in git |
|---|
| 156 | [17:21] Deewiant: |
|---|
| 157 | bos wrote the Mercurial book so I suppose he could answer related questions fairly well :-) |
|---|
| 158 | [17:21] JaffaCake: |
|---|
| 159 | yep, true |
|---|
| 160 | [17:22] nominolo: |
|---|
| 161 | @seen bos |
|---|
| 162 | [17:22] lambdabot: |
|---|
| 163 | bos is in #ghc and #haskell. I don't know when bos last spoke. |
|---|
| 164 | [17:22] bos: |
|---|
| 165 | you can turn a committed change back into a patch if you need to |
|---|
| 166 | [17:22] BSP_: |
|---|
| 167 | do we have any information on the relative adoption of bzr, hg and git? |
|---|
| 168 | [17:22] JaffaCake: |
|---|
| 169 | so if we were to switch, what happens to the library repos? |
|---|
| 170 | [17:22] BSP_: |
|---|
| 171 | because what i'm most concerned about is that the system will be actively maintained for some time to come |
|---|
| 172 | [17:22] Deewiant: |
|---|
| 173 | git > hg > bzr from what I understand |
|---|
| 174 | [17:22] nominolo: |
|---|
| 175 | BSP_: according to popcon, git is far ahead |
|---|
| 176 | [17:22] Deewiant: |
|---|
| 177 | I think bzr's quite rare, actually |
|---|
| 178 | [17:22] bos: |
|---|
| 179 | git has about 2x the number of users of hg, and only one significant project uses bzr. |
|---|
| 180 | [17:23] JaffaCake: |
|---|
| 181 | that rules out bzr, I think |
|---|
| 182 | [17:23] matthew-_: |
|---|
| 183 | quoting from: http://www.lshift.net/blog/2008/04/30/choosing-a-new-version-control-system |
|---|
| 184 | [17:23] lambdabot: |
|---|
| 185 | Title: LShift Ltd. » Choosing a new version control system, http://tinyurl.com/5tjklc incompatible encoding |
|---|
| 186 | [17:23] matthew-_: |
|---|
| 187 | "Git is used most famously by the Linux kernel, Bazaar by Ubuntu’s Launchpad development centre, and Mercurial by the Java and Mozilla projects" |
|---|
| 188 | [17:23] JaffaCake: |
|---|
| 189 | bos: so what's the situation with file/directory renames in hg? |
|---|
| 190 | [17:23] bos: |
|---|
| 191 | JaffaCake: should all work fine. |
|---|
| 192 | [17:24] JaffaCake: |
|---|
| 193 | but is it based on heuristics like git, or native like darcs? |
|---|
| 194 | [17:24] bos: |
|---|
| 195 | it's not based on heuristics. |
|---|
| 196 | [17:24] JaffaCake: |
|---|
| 197 | so it maintains accurate history of renames? |
|---|
| 198 | [17:24] bos: |
|---|
| 199 | yes. |
|---|
| 200 | [17:24] JaffaCake: |
|---|
| 201 | ok, thanks |
|---|
| 202 | [17:25] JaffaCake: |
|---|
| 203 | I'll try to break it later :) |
|---|
| 204 | [17:25] bos: |
|---|
| 205 | you have to tell it that you're renaming something of course. |
|---|
| 206 | [17:25] JaffaCake: |
|---|
| 207 | sure |
|---|
| 208 | [17:25] nominolo: |
|---|
| 209 | mercurial also seems more windows-friendly than git |
|---|
| 210 | [17:25] Deewiant: |
|---|
| 211 | yes, that's my main reason for recommending it |
|---|
| 212 | [17:25] bos: |
|---|
| 213 | it's also much easier to learn. |
|---|
| 214 | [17:25] nominolo: |
|---|
| 215 | git has git rename, too |
|---|
| 216 | [17:25] nominolo: |
|---|
| 217 | you only can't rename an empty directory |
|---|
| 218 | [17:26] Deewiant: |
|---|
| 219 | you can't even track an empty directory in Mercurial |
|---|
| 220 | [17:26] nominolo: |
|---|
| 221 | and there's bitbucket, hg also has something similar to github |
|---|
| 222 | [17:26] Deewiant: |
|---|
| 223 | which is perhaps somewhat annoying but not significantly so |
|---|
| 224 | [17:26] bos: |
|---|
| 225 | right. neither git nor mercurial track directories explicitly. |
|---|
| 226 | [17:26] JaffaCake: |
|---|
| 227 | git doesn't track renaming history, it tries to reconstruct it |
|---|
| 228 | [17:27] bos: |
|---|
| 229 | correct. |
|---|
| 230 | [17:27] JaffaCake: |
|---|
| 231 | it's quite easy to construct an example that goes wrong |
|---|
| 232 | [17:27] JaffaCake: |
|---|
| 233 | I did it on my first try |
|---|
| 234 | [17:27] nominolo: |
|---|
| 235 | oh, ok |
|---|
| 236 | [17:27] Deewiant: |
|---|
| 237 | good to know, I've always been wary of git in that regard :-) |
|---|
| 238 | [17:27] JaffaCake: |
|---|
| 239 | but adding some garbage to the files made it work again, because it detected the rename |
|---|
| 240 | [17:28] nominolo: |
|---|
| 241 | how does mercurial do merges? |
|---|
| 242 | [17:28] • bos |
|---|
| 243 | `ap` shower |
|---|
| 244 | [17:28] bos: |
|---|
| 245 | three-way, interactive if needed. |
|---|
| 246 | [17:28] Deewiant: |
|---|
| 247 | with an external proggy. |
|---|
| 248 | [17:28] nominolo: |
|---|
| 249 | ok. same as git then |
|---|
| 250 | [17:29] nominolo: |
|---|
| 251 | i guess mercurial has something like bisect as well? |
|---|
| 252 | [17:29] JaffaCake: |
|---|
| 253 | good support for renaming would push me towards hg, but I'd really like to be able to fiddle with the history |
|---|
| 254 | [17:29] dbueno (n=dbueno@cpe-69-202-89-145.twcny.res.rr.com) left the chat room. (Read error: 110 (Connection timed out)) |
|---|
| 255 | [17:29] BSP_: |
|---|
| 256 | in what ways is git windows unfriendly? in that it requires cygwin? but we need that for the GHC build anyway.. |
|---|
| 257 | [17:30] MyCatVerbs: |
|---|
| 258 | BSP_: it's reputed to be very slow on Windows. |
|---|
| 259 | [17:30] JaffaCake: |
|---|
| 260 | git might be more windows-friendly than darcs :) |
|---|
| 261 | [17:30] Igloo: |
|---|
| 262 | Is bisect like darcs trackdown? If so I'm not convinced that it is useful |
|---|
| 263 | [17:30] MyCatVerbs: |
|---|
| 264 | BSP_: naturally the author isn't particularly interested in optimizing that particular case. ;P |
|---|
| 265 | [17:30] nominolo: |
|---|
| 266 | Igloo: yes |
|---|
| 267 | [17:30] nominolo: |
|---|
| 268 | Igloo: it uses binary search |
|---|
| 269 | [17:30] BSP_: |
|---|
| 270 | MyCatVerbs: right ;-) but wikipedia claims: "However, the recent rewriting of many shell commands in C have resulted in significant speed improvement on Windows" |
|---|
| 271 | [17:31] JaffaCake: |
|---|
| 272 | MyCatVerbs: I heard rumours it was getting faster, they rewrote more of it in C |
|---|
| 273 | [17:31] Deewiant: |
|---|
| 274 | JaffaCake: ah, there's also http://www.selenic.com/mercurial/wiki/index.cgi/TransplantExtension apparently |
|---|
| 275 | [17:31] lambdabot: |
|---|
| 276 | Title: TransplantExtension - Mercurial, http://tinyurl.com/2mdrc6 |
|---|
| 277 | [17:31] nominolo: |
|---|
| 278 | well, Git isn't very windows-friendly by culture alone. i don't think that will change soon |
|---|
| 279 | [17:31] MyCatVerbs: |
|---|
| 280 | BSP_, JaffaCake: oh, cool. I guess that was only to be expected, in the longer run. |
|---|
| 281 | [17:32] MyCatVerbs: |
|---|
| 282 | Actually, come to think of it, if they used to use shell scripts everywhere, no wonder it was slow on Windows. |
|---|
| 283 | [17:32] JaffaCake: |
|---|
| 284 | Deewiant: extensions are all very well, but they don't make for a coherent UI |
|---|
| 285 | [17:32] nominolo: |
|---|
| 286 | ah, so hg has a rebase command |
|---|
| 287 | [17:32] Deewiant: |
|---|
| 288 | I think Mercurial extensions are really easy to use, actually |
|---|
| 289 | [17:33] Deewiant: |
|---|
| 290 | just enable it in .hgrc and then the corresponding "hg foo" command works. |
|---|
| 291 | [17:33] MyCatVerbs: |
|---|
| 292 | What with the much-heavier processes and difficulty of supporting fork() and exec() efficiently on Windows - Hell, pretty much every single line that passes through the 'terp has to do both. |
|---|
| 293 | [17:33] nominolo: |
|---|
| 294 | most of git commands are extensions, too |
|---|
| 295 | [17:33] JaffaCake: |
|---|
| 296 | ok, fair enough |
|---|
| 297 | [17:34] nominolo: |
|---|
| 298 | their are just shell scripts on top of the core commands |
|---|
| 299 | [17:34] BSP_: |
|---|
| 300 | if git and hg are fairly comparable feature wise, whats the speed like? |
|---|
| 301 | [17:34] JaffaCake: |
|---|
| 302 | comparable :) |
|---|
| 303 | [17:34] nominolo: |
|---|
| 304 | hg is slightly slower |
|---|
| 305 | [17:34] BSP_: |
|---|
| 306 | git seems to have a reputation as the fastest |
|---|
| 307 | [17:34] nominolo: |
|---|
| 308 | but, mostly comparabel |
|---|
| 309 | [17:34] Deewiant: |
|---|
| 310 | I think it varies per operation |
|---|
| 311 | [17:34] Deewiant: |
|---|
| 312 | depending on what blog's benchmark you look at, of course :-P |
|---|
| 313 | [17:35] nominolo: |
|---|
| 314 | it would probably only really matter if ghc reaches 1M SLOC |
|---|
| 315 | [17:35] nominolo: |
|---|
| 316 | or more |
|---|
| 317 | [17:35] matthew-_: |
|---|
| 318 | well Linus wanted git to be as fast as bitkeeper was/is. So the inital designs were very heavily optimised |
|---|
| 319 | [17:35] nominolo: |
|---|
| 320 | which i hope will never happen |
|---|
| 321 | [17:35] JaffaCake: |
|---|
| 322 | we can't be that far off 1M if you count everything |
|---|
| 323 | [17:35] nominolo: |
|---|
| 324 | bos: how well does mercurial handle sub-modules? |
|---|
| 325 | [17:36] nominolo: |
|---|
| 326 | JaffaCake: well, the evil mangler will hopefully go |
|---|
| 327 | [17:36] MyCatVerbs: |
|---|
| 328 | BSP_: for most code bases, they're both fast enough that you don't care about the speed, so worry about feature sets instead. :) |
|---|
| 329 | [17:36] nominolo: |
|---|
| 330 | bos: for example for bisect/trackdown we need to link ghc and the core-libs, otherwise it's useless |
|---|
| 331 | [17:37] nominolo: |
|---|
| 332 | (since different library versions don't build with certain ghc versions and vice versa) |
|---|
| 333 | [17:37] BSP_: |
|---|
| 334 | nominolo: can git handle that? |
|---|
| 335 | [17:38] nominolo: |
|---|
| 336 | not nicely (yet), but you can write some scripts |
|---|
| 337 | [17:38] Igloo: |
|---|
| 338 | I'm not sure if we can change the libraries. We'd have to get agreement from hugs etc first |
|---|
| 339 | [17:39] JaffaCake: |
|---|
| 340 | yeah |
|---|
| 341 | [17:39] nominolo: |
|---|
| 342 | oh. hm. |
|---|
| 343 | [17:39] JaffaCake: |
|---|
| 344 | and Cabal |
|---|
| 345 | [17:40] nominolo: |
|---|
| 346 | ok. so where are we now? |
|---|
| 347 | [17:40] JaffaCake: |
|---|
| 348 | we'd probably be stuck with needing to use two VCSs |
|---|
| 349 | [17:41] nominolo: |
|---|
| 350 | is there a way to have a reliable bridge? |
|---|
| 351 | [17:41] BSP_: |
|---|
| 352 | what problems can you forsee that causing? |
|---|
| 353 | [17:41] nominolo: |
|---|
| 354 | using, say, tailor? |
|---|
| 355 | [17:41] Igloo: |
|---|
| 356 | I don't think bridges are plausible |
|---|
| 357 | [17:42] JaffaCake: |
|---|
| 358 | BSP_: no technical problems, just hard to use two different tools |
|---|
| 359 | [17:42] Igloo: |
|---|
| 360 | The only problem that 2 VCSs would cause is that we'd keep typing the wrong thing |
|---|
| 361 | [17:42] matthew-_: |
|---|
| 362 | context sensitive wrappers? |
|---|
| 363 | [17:42] JaffaCake: |
|---|
| 364 | yep |
|---|
| 365 | [17:42] Igloo: |
|---|
| 366 | Maybe, if the VCSs' features map well enough |
|---|
| 367 | [17:43] • JaffaCake |
|---|
| 368 | notes that hg is the easiest to type, followed by git, then darcs |
|---|
| 369 | [17:43] thoughtpolice: |
|---|
| 370 | nominolo: there's some mingw versions of git for windows that I had some good experiences with |
|---|
| 371 | [17:43] bos: |
|---|
| 372 | hg has partial submodule support, which i'm working on. |
|---|
| 373 | [17:43] thoughtpolice: |
|---|
| 374 | the main catch was that I think you had to run git-gc a little more frequently since garbage could build up easier |
|---|
| 375 | [17:43] Igloo: |
|---|
| 376 | JaffaCake: But I already have e.g. p aliased to (roughly) darcs pull -p, so that's easiest for me! |
|---|
| 377 | [17:44] nominolo: |
|---|
| 378 | JaffaCake: i always type "git" when i want to type "get".. so that's a con ;) |
|---|
| 379 | [17:44] bos: |
|---|
| 380 | Igloo: dons tells me you've been looking into organisations like SFC and SPI for haskell.org help. |
|---|
| 381 | [17:44] bos: |
|---|
| 382 | Igloo: i've done quite a bit of work with the SFC and SFLC, and i'm very happy with them. i'll be meeting various of their number during the week here. |
|---|
| 383 | [17:45] bos: |
|---|
| 384 | Igloo: let me know if you want anything said. |
|---|
| 385 | [17:45] Igloo: |
|---|
| 386 | bos: OK, thanks. Hopefully I'll be in touch soon |
|---|
| 387 | [17:46] • bos |
|---|
| 388 | off to breakfast |
|---|
| 389 | [17:47] BSP_: |
|---|
| 390 | right, so what is the consensus on actually moving off darcs? are we going to do it? |
|---|
| 391 | [17:47] JaffaCake: |
|---|
| 392 | so another problem with staying with darcs is that annotate still doesn't work (in the sense that it takes several minutes to give a result) |
|---|
| 393 | [17:48] JaffaCake: |
|---|
| 394 | I use the git repository for annotate |
|---|
| 395 | [17:48] nominolo: |
|---|
| 396 | yes, and getting/pulling doesn't seem faster with v2 |
|---|
| 397 | [17:48] nominolo: |
|---|
| 398 | JaffaCake: you have your own git repo? |
|---|
| 399 | [17:48] JaffaCake: |
|---|
| 400 | I'm using yours :) |
|---|
| 401 | [17:48] nominolo: |
|---|
| 402 | JaffaCake: oh, that's outdated |
|---|
| 403 | [17:48] JaffaCake: |
|---|
| 404 | the one from darcs.haskell.org |
|---|
| 405 | [17:48] nominolo: |
|---|
| 406 | because the update hook doesn't run |
|---|
| 407 | [17:49] JaffaCake: |
|---|
| 408 | right, but I'm usually not interested in recent history |
|---|
| 409 | [17:49] nominolo: |
|---|
| 410 | ah, i see |
|---|
| 411 | [17:49] JaffaCake: |
|---|
| 412 | I can get that easily enough from darcs |
|---|
| 413 | [17:49] JaffaCake: |
|---|
| 414 | with darcs changes | grep |
|---|
| 415 | [17:49] nominolo: |
|---|
| 416 | ok. so i haven't tried mercurial, but i would be fine with git |
|---|
| 417 | [17:50] nominolo: |
|---|
| 418 | from what i hear hg would be fine, too |
|---|
| 419 | [17:50] JaffaCake: |
|---|
| 420 | anyway we can use the new git conversion tool that's much faster, right? |
|---|
| 421 | [17:50] nominolo: |
|---|
| 422 | probably, i didn't try to build it |
|---|
| 423 | [17:50] BSP_: |
|---|
| 424 | have we got a hg conversion of ghc anywhere? |
|---|
| 425 | [17:50] nominolo: |
|---|
| 426 | it requires patching darcs head |
|---|
| 427 | [17:50] JaffaCake: |
|---|
| 428 | BSP_: not that I'm aware of |
|---|
| 429 | [17:51] JaffaCake: |
|---|
| 430 | so yes, looks like we need to do an eval of hg too |
|---|
| 431 | [17:51] JaffaCake: |
|---|
| 432 | at this stage I'm tending towards switching... is anyone strongly opposed? |
|---|
| 433 | [17:53] JaffaCake: |
|---|
| 434 | I guess not! |
|---|
| 435 | [17:54] dcoutts: |
|---|
| 436 | so what's the decision? move to |
|---|
| 437 | [17:54] nominolo: |
|---|
| 438 | *crickets chirping* |
|---|
| 439 | [17:54] • dcoutts |
|---|
| 440 | has been busy announcing the OpenSPARC project |
|---|
| 441 | [17:54] JaffaCake: |
|---|
| 442 | dcoutts: we need to look at hg too |
|---|
| 443 | [17:54] Igloo: |
|---|
| 444 | So I think that for each contender we need someone to convert the GHC repo and translate a list of darcs commands so we can try it out? |
|---|
| 445 | [17:55] JaffaCake: |
|---|
| 446 | Igloo: right |
|---|
| 447 | [17:55] dcoutts: |
|---|
| 448 | JaffaCake: so the decision is to switch from darcs1, and now we evaluate a short list of options? |
|---|
| 449 | [17:55] JaffaCake: |
|---|
| 450 | I think that would be the best plan, yes |
|---|
| 451 | [17:56] JaffaCake: |
|---|
| 452 | I don't think switching to darcs2 will buy us enough |
|---|
| 453 | [17:56] JaffaCake: |
|---|
| 454 | we'll still have performance problems and Windows bugs |
|---|
| 455 | [17:57] dcoutts: |
|---|
| 456 | unless someone fixes them |
|---|
| 457 | [17:57] dcoutts: |
|---|
| 458 | sigh |
|---|
| 459 | [17:57] MyCatVerbs: |
|---|
| 460 | Hang on, GHC still uses darcs1? |
|---|
| 461 | [17:57] nominolo: |
|---|
| 462 | which is unlikely to happen soon |
|---|
| 463 | [17:57] JaffaCake: |
|---|
| 464 | MyCatVerbs: yes |
|---|
| 465 | [17:58] MyCatVerbs: |
|---|
| 466 | Damn. |
|---|
| 467 | [17:58] JaffaCake: |
|---|
| 468 | dcoutts: I can see the Windows bugs being fixed, but not the performance issues |
|---|
| 469 | [17:58] MyCatVerbs: |
|---|
| 470 | Out of curiosity, have you tried darcs2 against ghc? |
|---|
| 471 | [17:58] Igloo: |
|---|
| 472 | Are you talking about "whatsnew is slow" or "conflict resolution is exponential"? |
|---|
| 473 | [17:58] • MyCatVerbs |
|---|
| 474 | winces at the mention of the latter. |
|---|
| 475 | [17:58] JaffaCake: |
|---|
| 476 | Igloo: the first kind |
|---|
| 477 | [17:58] dcoutts: |
|---|
| 478 | JaffaCake: aye, probably so |
|---|
| 479 | [17:59] JaffaCake: |
|---|
| 480 | Igloo: annotate is too slow to use, and everything else is just slow |
|---|
| 481 | [17:59] dons: |
|---|
| 482 | http://www.reddit.com/r/programming/comments/6t3pa/Sun_Microsystems_funding_Haskell_on_multicore/ announce is out. |
|---|
| 483 | [17:59] lambdabot: |
|---|
| 484 | Title: Sun Microsystems funding Haskell on multicore OpenSPARC! : programming, http://tinyurl.com/5p7vjj |
|---|
| 485 | [17:59] matthew-_: |
|---|
| 486 | ironically, the continual development of GHC is likely to make darcs a more viable choice ;) |
|---|
| 487 | [18:00] JaffaCake: |
|---|
| 488 | Igloo: so is conflict resolution still exponential in darcs2? |
|---|
| 489 | [18:00] MarcWebe1 (n=marc@pD9E0A63E.dip.t-dialin.net) joined the chat room. |
|---|
| 490 | [18:00] JaffaCake: |
|---|
| 491 | with the darcs2 format, I mean |
|---|
| 492 | [18:00] MyCatVerbs: |
|---|
| 493 | JaffaCake: no, that bug was squished hard. It was specifically a large part of the raison d'etre for darcs2. |
|---|
| 494 | [18:01] nominolo: |
|---|
| 495 | matthew-_: how? |
|---|
| 496 | [18:01] Igloo: |
|---|
| 497 | Yeah, I understand that it's not a problem with the new format, although i haven't tried it myself |
|---|
| 498 | [18:02] matthew-_: |
|---|
| 499 | nominolo: it'll make darcs faster, due to better optimisations. Albeit I suspect too slowly |
|---|
| 500 | [18:02] nominolo: |
|---|
| 501 | matthew-_: that'll be maybe 5% / year. in the best case |
|---|
| 502 | [18:02] matthew-_: |
|---|
| 503 | quite ;) |
|---|
| 504 | [18:03] BSP_: |
|---|
| 505 | nominolo: and that's assuming its compute bound... |
|---|
| 506 | [18:03] JaffaCake: |
|---|
| 507 | ok, I have to go, thanks folks! |
|---|
| 508 | [18:03] • dcoutts |
|---|
| 509 | points out http://haskell.org/opensparc/ |
|---|
| 510 | [18:03] JaffaCake: |
|---|
| 511 | dcoutts: nice |
|---|
| 512 | [18:03] nominolo: |
|---|
| 513 | with pictures! |
|---|
| 514 | [18:03] BSP_: |
|---|
| 515 | does anyone want to volunteer for the hg conversion? :) |
|---|
| 516 | [18:04] dcoutts: |
|---|
| 517 | any student ghc hackers interested in working on GHC's native code gen for SPARC ? |
|---|
| 518 | [18:04] dcoutts: |
|---|
| 519 | nominolo: of course :-) |
|---|
| 520 | [18:04] nominolo: |
|---|
| 521 | too bad i won't have time |
|---|
| 522 | [18:04] dcoutts: |
|---|
| 523 | :-( |
|---|
| 524 | [18:04] dcoutts: |
|---|
| 525 | doesn't all have to be in one go |
|---|
| 526 | [18:05] nominolo: |
|---|
| 527 | i'll have to talk to simon thompson then |
|---|
| 528 | [18:10] bringert (n=bringert@3-1-5-7a.gva.gbg.bostream.se) joined the chat room. |
|---|
| 529 | [18:10] bringert (n=bringert@3-1-5-7a.gva.gbg.bostream.se) left the chat room. (Client Quit) |
|---|
| 530 | [18:15] benny99 (n=bebenny@p5486F483.dip.t-dialin.net) joined the chat room. |
|---|
| 531 | [18:15] benny99 (n=bebenny@p5486F483.dip.t-dialin.net) left the chat room. (Read error: 104 (Connection reset by peer)) |
|---|
| 532 | [18:16] TMD (n=tmdubui@144.51.26.41) left the chat room. |
|---|
| 533 | [18:16] MarcWeber (n=marc@pD9E0994B.dip.t-dialin.net) left the chat room. (Read error: 110 (Connection timed out)) |
|---|
| 534 | [18:16] nominolo: |
|---|
| 535 | is someone responsible for putting the log somewhere? |
|---|
| 536 | [18:17] dejones (n=donnie@74-131-36-199.dhcp.insightbb.com) joined the chat room. |
|---|
| 537 | [18:19] dolio (n=dolio@216.68.186.59) left the chat room. (Read error: 104 (Connection reset by peer)) |
|---|
| 538 | [18:19] dolio (n=dolio@216.68.186.59) joined the chat room. |
|---|
| 539 | [18:20] BSP_: |
|---|
| 540 | nominolo: igloo did the last one (http://hackage.haskell.org/trac/ghc/wiki/IRC_Meetings) but feel free :) |
|---|
| 541 | [18:20] lambdabot: |
|---|
| 542 | Title: IRC_Meetings - GHC - Trac |
|---|
| 543 | [18:21] malcolmw: |
|---|
| 544 | personally, I would be very sorry to see darcs abandoned by ghc, but then I don't actually trip over any of its foibles on a regular basis |
|---|
| 545 | [18:23] Igloo: |
|---|
| 546 | Oh, yes, please put up a log on that page if you have one |
|---|
| 547 | [18:23] Igloo: |
|---|
| 548 | malcolmw: That's basically my opinion, too |
|---|
| 549 | [18:23] mainland: |
|---|
| 550 | just out of curiosity---and please don't bludgeon me here---but what about switching to a non-distributed version control system? |
|---|
| 551 | [18:24] Igloo: |
|---|
| 552 | That's a no-go IMO |
|---|
| 553 | [18:24] thoughtpolice: |
|---|
| 554 | no offline commits seem to be the biggest issue in that case |
|---|
| 555 | [18:24] thoughtpolice: |
|---|
| 556 | imo, anyway |
|---|
| 557 | [18:24] mainland: |
|---|
| 558 | but one can always use something like darcs offline |
|---|
| 559 | [18:24] mainland: |
|---|
| 560 | do a subversion checkout, then a darcs init... |
|---|
| 561 | [18:24] bos: |
|---|
| 562 | bleugh. |
|---|
| 563 | [18:26] BSP_: |
|---|
| 564 | you could use something like svk, to build a distributed VCS on top of SVN |
|---|
| 565 | [18:26] BSP_: |
|---|
| 566 | but i'd kind of prefer something more mainstream :) |
|---|
| 567 | [18:27] mainland: |
|---|
| 568 | you can use whatever tool you want on top of SVN |
|---|
| 569 | [18:27] thoughtpolice: |
|---|
| 570 | git-svn would work too |
|---|
| 571 | [18:27] mainland: |
|---|
| 572 | darcs, got, hg, whatever |
|---|
| 573 | [18:27] Igloo: |
|---|
| 574 | mainland: And what's the advantage? |
|---|
| 575 | [18:27] thoughtpolice: |
|---|
| 576 | but regardless the cost-benefit seems too unbalanced |
|---|
| 577 | [18:27] thoughtpolice: |
|---|
| 578 | you can reap just as many benefits from using solely distributed version control if you ask me |
|---|
| 579 | [18:28] mainland: |
|---|
| 580 | sure, if they worked well |
|---|
| 581 | [18:28] thoughtpolice: |
|---|
| 582 | they do, darcs in particular just has problems |
|---|
| 583 | [18:28] bos: |
|---|
| 584 | it would be very silly to switch from a DVCS to SVN. |
|---|
| 585 | [18:29] thoughtpolice: |
|---|
| 586 | that's nothing against darcs |
|---|
| 587 | [18:29] thoughtpolice: |
|---|
| 588 | for small stuff it works well, and it's working on a hard problem |
|---|
| 589 | [18:29] bos: |
|---|
| 590 | even the original authors of SVN use hg for most of their revision control work now. |
|---|
| 591 | [18:29] nominolo: |
|---|
| 592 | BSP_: ok, your log format is nicer |
|---|
| 593 | [18:29] mainland: |
|---|
| 594 | will people really not have just as many problems, though perhaps different, with any other DVCS? |
|---|
| 595 | [18:29] nominolo: |
|---|
| 596 | no |
|---|
| 597 | [18:29] bos: |
|---|
| 598 | no. |
|---|
| 599 | [18:30] nominolo: |
|---|
| 600 | the problems with darcs are mostly performance |
|---|
| 601 | [18:30] thoughtpolice: |
|---|
| 602 | darcs has inherent issues that inhibit it's flexibility and performance |
|---|
| 603 | [18:30] nominolo: |
|---|
| 604 | and some missing features |
|---|
| 605 | [18:30] thoughtpolice: |
|---|
| 606 | especially for large stuff |
|---|
| 607 | [18:30] Svrog (n=ivan@d5153048F.access.telenet.be) left the chat room. ("Ex-Chat") |
|---|
| 608 | [18:31] nominolo: |
|---|
| 609 | darcs is nice and simple for smaller projects |
|---|
| 610 | [18:32] thoughtpolice: |
|---|
| 611 | imo if you want a vcs that can sustain 'high load,' darcs isn't it; not yet, anyway. |
|---|
| 612 | [18:32] nominolo: |
|---|
| 613 | BSP_: can you upload your log, please? |
|---|
| 614 | [18:33] nominolo: |
|---|
| 615 | i'll try to find out why mine didn't generate a log file |
|---|
| 616 | [18:33] BSP_: |
|---|
| 617 | nominolo: i'm trying to work out how to get colloquy to generate a plain text log file :) |
|---|
| 618 | [18:33] nominolo: |
|---|
| 619 | heh, me too |
|---|
| 620 | [18:34] waern (i=53915df2@gateway/web/ajax/mibbit.com/x-70ab84da77ee7d90) left the chat room. ("http://www.mibbit.com ajax IRC Client") |
|---|
| 621 | [18:34] BSP_: |
|---|
| 622 | actually i didn't even turn on the logging so this is fruitless |
|---|