Eric Kow writes:

 > At the risk of preaching to the choir, I decided to run this example
 > from Jason's Master's Thesis, the idea I'm hoping to convey being that
 > precision is important not just because of what it lets you do cleanly,
 > but because of what misleading things it lets you avoid.  I guess it
 > would be hard to communicate this clearly though...  The idea is that we
 > want to merge a file swap change with a change that modifies one of the
 > files.  Does the right thing happen?

Be careful.  I don't think "the right thing" is well-defined here.
The fact that Darcs gives the most plausible answer (in a very
implausible example) may be a point in its favor.  But perhaps not;
git's behavior, while implausible, is not completely unimaginable, and
in fact makes it easier to give a plausible rationale for the very
existence of such an example of swapping names for what started as
identical content.

You see, this situation is quite imaginable in XEmacs, where our
console drivers for different GUI toolkits are very similar.  With
XEmacs I often duplicate files with C-x C-w (aka "Save As ..."), but
this changes the default for future saves too, which I often forget.
So I make a bunch of Xt-relevant changes, go "oh, nuts!", and swap the
files using "mv".  Now, git will get the merge right, putting
Xt-related changes from the other workspace in the file named
console-x.c, not in console-gtk.c, while Darcs would get it wrong!
Also think "Java" where the name of the file reflects the class it
contains content.

Note that Darcs should do the same thing as git in the case where you
use "mv" rather than "darcs mv".  This is a definite point in its
favor.  That is, Darcs is more expressive, you can use the "mv"
vs. "darcs mv" distinction to express whether the merging change
should follow the content or the name.

I'm still curious about examples where Darcs uses this information to
accomplish a merge where other VCSes give up and announce a conflict.
_______________________________________________
darcs-users mailing list
[email protected]
http://lists.osuosl.org/mailman/listinfo/darcs-users

Reply via email to