[darcs-users] can't unpull after a conflict

Andrew Pimlott andrew at pimlott.net
Wed May 5 12:35:14 UTC 2004


The suggestion about the conflict format reminded me of an annoyance.
If you do a pull that has conflicts and decide that you don't want to
deal with the merge right now, you can't just unpull because the pull
conflict changes files which then conflict with the unpull ("Couldn't
undo patch in working dir.").  You have to selectively revert the
conflict hunks first, which can be a pain.  For the same reason, if the
owner of the repository you pulled from does the merges, you can't just
pull again to get his resolutions.

I don't understand darcs well enough to know if this can be practically
fixed.  One idea is to put the conflict info in another file, eg
foo.c.mergeme, but then you'd still have to clean up these files in the
above scenarios (not terribly hard).  Another is to make the conflict
resolution format the result of the merger, instead of the "common
ancestor", so that after a conflict, there are no (new) diffs in the
working dir.  I fear that may not play nice with the order-independence
of patches.

I just noticed, the situation appears to be worse when the conflict is
with the working dir, ie the pull commutes with all the patches in the
repository, but not with the working changes.  Then, it's obvious what
the result in the repository should be, but there's no format you could
put in the working file that would unpull cleanly.  Maybe you could put
a merger patch in pending to solve this....

Andrew




More information about the darcs-users mailing list