Curt Sampson writes: > On 2008-06-23 22:21 +0100 (Mon), Eric Y. Kow wrote: > > > Oh, that's normal! In the darcs pristine repository, what really happens > > when two patches conflict, neither of them has any effect. > > Well, I'm quite new to Darcs, but data predictably disappearing is not > really what I'm normally looking for in a revision control system.
The data doesn't disappear, it's in the merger patch. zcat the patches in _darcs/patches, and you'll see. How to extract it from that patch, I don't know, and it sort of looks like in a Darcs 1 repo, Darcs doesn't either. What is happening here is that your workspace is left as is, which I think may be a bug. Because the conflict occurs at the "add" stage, in the pristine tree (under _darcs/pristine) all patches depending on the conflicting add (including the conflicting add itself) are reverted. Thus you end up with the file removed. I've added a "ls -a _darcs/pristine" (the -a guarantees output from ls) after recording the file in repo2 and after doing the pull, giving the following output from your script: chibi:test steve$ . ../darcs-test.sh Finished getting. Finished recording patch 'one' Finished recording patch 'two' . .. file Pulling from "/private/tmp/test/repo1"... Backing up ./file(-darcs-backup0) We have conflicts in the following files: ./file Finished pulling and applying. . .. chibi:repo2 steve$ > I think that makes sense, yes. So basically, no matter what the state > of my working copy, I can always do a mark-conflicts to mark up any > conflicts that do not have a further patch depending on them? Not in a Darcs 1 repo in the corner case of conflicting adds, it would appear. > It's already dropping in an extra copy of the file; No, it's leaving it behind. You put that file there. :-) _______________________________________________ darcs-users mailing list [email protected] http://lists.osuosl.org/mailman/listinfo/darcs-users
