
On Wed, Jul 22, 2009 at 16:48:39 +0100, Grant Husbands wrote:
Overall, I'd say this just feeds back into my original point, though; I fully expected that many points could be answered, and I think I can raise more, given a bit of thought. (I won't unless I'm asked to, though, as I'm trying to raise a useful point, not trying to wield pedantry to kill a project.)
I think it's quite useful that you're doing this, thanks. The hope was to solicit discussion, after all! I'd particularly appreciate it if we could summarise any results from this on the bug tracker in the end http://bugs.darcs.net/issue555
However, take even just the above into account and things are now more complicated. We're no longer simply switching a pristine and an inventory here and there, we're applying and unapplying patches for the working copy (which is non-trivial if you want to get the contexts correct), and rolling back on failure (something even Darcs has historically had trouble with). We're extending the added GC roots to include the full inventory chain (and whatever else comes up). We're doing something interesting with a new kind of context to make patch migration between branches work. I think it will become at least as much work as it would take to implement the right mechanisms in Darcs itself.
Another option to consider: though this may be straying from the idea of implementing a standalone tool, but it seems that darcs-branch could outsource any clever bits to the Darcs library (and that we'd have to think carefully through extensions to the Darcs library and not just hashed-storage to make this work). -- Eric Kow http://www.nltg.brighton.ac.uk/home/Eric.Kow PGP Key ID: 08AC04F9