Petr Rockai writes: > Example: > > alph > beta > gamma > > I independently fix the line "alph" to read "alpha", and in another > branch, i decide i want to replace "beta" with "delta". Now, when i > merge the branches, darcs correctly produces: > > alpha > delta > gamma > > However, when i use diff3 -m, i get:
[conflict] And you should. I would never use a merge tool that didn't signal a conflict in this case (and I'm pretty sure Darcs will, btw). Even when, as in your example, the same developer has made both changes. The chance that two independently made changes in adjacent lines interact semantically is way too high to be ignored. Here's an amusing example (though perhaps not to the poor sod who finds the merged file and tries to debug it): // This does all the work. maybe_work (); clean_up (); Now in branch A, we make a note: // This does all the work. FIXME: Sometimes it doesn't. bug #42. maybe_work (); clean_up (); and in branch B, we have a brainstorm: // This does all the work. quickly_and_serendipitously_correctly_work (); clean_up (); You don't want to merge that, rather, pick B. Note that this is isomorphic to your "perfectly capable of a correct merge" example. _______________________________________________ darcs-users mailing list [email protected] http://lists.osuosl.org/mailman/listinfo/darcs-users
