[darcs-users] How is merge supposed to work?

Miguel Bazdresch darcs-01 at thewizardstower.org
Fri Oct 22 16:35:48 UTC 2004


Hello,

The last couple of weeks I've been unlearning RCS and getting to love
darcs. Something I haven't been able to figure out is how merges (or
conflict resolution) is supposed to work. I seem to be missing something
very basic.

I created a conflict on purpose. This is what I did:

mkdir repo1
[create a file, create darcs repo, add file, do darcs record a few
 times]
darcs whatsnew  [to make sure everything is recorded]
cd ..
darcs get repo1 repo2
cd repo1
[make more changes and more records]
darcs push -a ../repo2  [works without incident]
[unrecord last patch, make changes, record them]

Now the interesting part:

darcs push -a         
Pushing to ../repo2...
We have conflicts in the following files:
./code.c
Finished applying...

My question at this point is very simple: now what?  ;)

cd ../repo2
darcs resolve
This could trash your data.  Are you sure?  [yn] y
Finished resolving.

However the working dir is wrong (in the sense it's not equal to that in
repo1) and I don't see how darcs will help me identify the conflicts.

I've read the mail archives, and I've seen references to a "merge patch"
and to "conflict markers" without understanding what that means; I can't
find anything about it in the docs. The docs talk about using an
"external merge tool", does that imply there is an "internal merge
tool"?

Talking about merge tools, both kdiff3 and xxdiff depend on Qt, which I
don't want to install. Does anybody know about alternatives (not
opendiff, I'm on linux)?

-- 
Miguel Bazdresch
http://thewizardstower.org/




More information about the darcs-users mailing list