[darcs-users] Conflict marking

Stephen J. Turnbull stephen at xemacs.org
Wed Oct 5 01:53:32 UTC 2005


>>>>> "Richard" == Richard A Smith <rsmith at bitworks-inc.com> writes:

    Richard> What is it about darcs that makes identifying the
    Richard> conflicting patch hard?  Darcs is the first SCM I've used
    Richard> not to do this.  Granted its the only distributed SCM
    Richard> I've used.

You're asking why darcs doesn't label the text that came from the
local copy versus the text that came from the pulled patch, right?  I
suspect that's because darcs doesn't know whether the local variance
was produced by you, or by darcs pulling a different patch.  These
have different implications for heuristic resolution of the conflict,
so you really should look at the _code_ and not the apparent _source
of the code_.  This is especially true for darcs where it is very
common to pull patches "out of order" (at least in my use case).  This
means that the most recently pulled patch is very likely not the
current version!

Looking at the issue more deeply, I don't know of any SCM that
identifies _any_ of the _patches_ involved in a conflict.  Eg, CVS and
RCS know nothing about patches, so they can't even identify the
current one, they can only tell you that an attempt to change the
workspace to conform to a _version_ in the repository results in a
conflict.

As far as I know the best any current SCM can do is identify (a) what
you have changed locally and (b) which _version_ (as you correctly
requested in your first post) you are trying to update to.  But Darcs
has no concept of "version", except as a collection of patches.

As far as I can see, you'd need to use something like "darcs
trackdown" to identify the patch which introduced the text that
conflicts.  It's an expensive operation.

-- 
School of Systems and Information Engineering http://turnbull.sk.tsukuba.ac.jp
University of Tsukuba                    Tennodai 1-1-1 Tsukuba 305-8573 JAPAN
               Ask not how you can "do" free software business;
              ask what your business can "do for" free software.




More information about the darcs-users mailing list