
Hi Gwern!
Seems I need to defend myself a bit, so here goes.
Quoting Gwern Branwen
On Fri, Nov 16, 2012 at 10:40 AM,
wrote: 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).
While it's true that xmonad-core has not had a lot of activity recently, that's not equally true of xmonad-contrib (which is the repository in question). Additionally, your claim about what other people can do after upgrading the central repository doesn't mesh with my reading of the darcs documentation. Here's the scenario as I see it: 1. Person A upgrades repository A into A-2 2. Person B upgrades repository B into B-local-2 2. Person B clones repository A-2 into B-2 It's not clear that this results in a state where person B can transfer patches from repository B-local-2 into B-2. In particular, "darcs help convert" says, "Furthermore, darcs 2 repositories created by different invocations of this command SHOULD NOT exchange patches, unless those repositories had no patches in common when they were converted."
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'm talking about repository metadata here, not patch metadata. Repository metadata is not always copied during a convert or a clone. I fully believe that darcs-2 is capable of storing all the same data; just not that I, personally, know how to copy it from the old repository to the new one. And please, the adversarial tone of this note really seems unwarranted. The darcs wiki itself recommends _not_ upgrading hashed darcs-1 repositories to darcs-2 repositories.
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?
Is it really so clear that there will be lots of conflicts from long-lived private patches...? I don't believe these things are really so mutually exclusive as you say. ~d