
On Fri, Nov 16, 2012 at 10:40 AM,
Okay, nobody else objected to the conversion, but I am objecting, after having read enough to have an inkling about how to do it. I have not converted, because:
1. Patches made for the darcs-1 format can't be applied after the upgrade. I think it's fairly likely that there are people out there who maintain their own patches or who are currently working on something and merely haven't sent in their patches. I don't want to make their lives harder unless there's a good reason to.
2.0 format became default years and years ago, and xmonad development has been stable/stagnant for as long. They can upgrade their own repo if they want to send a patch from however long ago (which seems unlikely since it's bad practice to keep a fork private for a long time).
2. The upgrade can't be done in-place, which means this would involve making an upgraded copy, wiping out the old repository, and copying the new, upgraded repository in its place. This is especially scary because 3. I don't feel confident that I understand darcs well enough to copy all the correct metadata that's available in the old repository into the appropriate places in the new repository by hand. A "diff" of the old and new repositories after doing the upgrade shows there are some such things.
You can scp a local version of the original repo, if you are worried about irreversibility. As for diff - well yeah, of course they differ, that's the point. 'Some such things'? Do you really think the Darcs team would've switched to 2.0 format, released it, set it as default, continue to release for years and years, and publicly recommend using it as default if those diffs were not either irrelevant or improvements? I mean honestly. That just reads as excuse-making.
4. And finally, according to the wiki, the only advantage of darcs-2 is better handling of conflicts, which I don't think have been a significant problem for us. All the other advantages are already available in hashed-format darcs-1 (which the -contrib repository already has been upgraded to).
For long-lived private branches, better handling of conflicts is important... So which is it, #1 or #4? Are there long-lived private patches per #1 in which case #4 is wrong, or are there not, in which case #4 is right but #1 wrong? -- gwern http://www.gwern.net