Warning: Due to sleep deprivation, this mail might not make any sense. I hope it's a good start or inspiration for somebody else to step in.
> Where do I find a copy of the file containing "one", and/or information > about what change conflicted there, so I can decide whether to keep my > version of "file," use the pulled version of "file," or do some merge of > the two? Hmm :-( Try darcs show contents file, using --match to select a patch. > And this is very strange to my mind: if I do a "darcs revert -a" at this > point, "file" vanishes entirely, though "darcs changes" claims that I > have both patch "one" and "two". So it seems that repo1 has a patch > "one" that adds "file", but repo2 has a patch "one" that removes "file." > What's up with this? Oh, that's normal! In the darcs pristine repository, what really happens when two patches conflict, neither of them has any effect. It's as if file never existed in the first place. This is done for theoretical reasons (as far as I can tell, it makes things very predictable). Darcs does a little bit extra work on top of this to help the end-user. Namely, in the working directory (the unrecorded part of the darcs repository), is that darcs will try to mark up the conflict. For example, if you have two conflicting hunk patches in the same file, you get both their contents and the conflict markers. Whatever you do to merge will be recorded on top of context where the two conflicting patches never 'happened' in the first place (of course, it will depend on the two patches, but that is a different story). Does that make any sort of sense? The reason your file dissapears when you do darcs revert is that in theory, the two patches adding it have canceled each other out. (If this is any reassurance, you should be able to get it back by doing darcs mark-conflicts to re-add any conflict markers) As for the first problem, (have 'two' but not 'one'). I'm guessing that darcs doesn't have a really a good way to deal with the problem of marking up file-add conflicts (see also conflicts with binary files), so the behaviour in the working dir can be less than ideal. Fortunately, the darcs-2 format treats duplicate patches as non-conflicting, so what should happen in with darcs-2 format is that the file will be considered added, and conflict markers added for one and two... i.e. the intuitive result. -- Eric Kow <http://www.nltg.brighton.ac.uk/home/Eric.Kow> PGP Key ID: 08AC04F9
pgpZK9wM8f5OB.pgp
Description: PGP signature
_______________________________________________ darcs-users mailing list [email protected] http://lists.osuosl.org/mailman/listinfo/darcs-users
