[darcs-users] Files supplied to the external merge command are missing a line of code

Netocrat netocrat at dodo.com.au
Sat Oct 8 18:47:45 UTC 2005


David Roundy wrote:
[...]
> This is a bit odd.  Is this a repository that you can make available? 

I've temporarily placed it at:

http://members.dodo.com.au/~netocrat/fish

> And
> do you still have the two repositories so this can be reproduced?

I can reproduce it using one repository:

darcs get http://members.dodo.com.au/~netocrat/fish
cd fish
darcs unpull
[select "y" to unpull "Resolution of conflicts with selective array 
conversion patch"]
darcs unpull
[select "y" to unpull "Selective colon<->array conversions"]

Now re-pull the first patch only ("Selective colon<->array conversions") 
to have the conflicts marked (I have no prefs/defaults settings file):

darcs pull
[select "y" then "n"]
less env.c
[shows the conflict including the do_arraysep_conv line]

To see that the external merge omits this line:

darcs revert
[select "y" continuously to revert all changes]
darcs unpull
[select "y" to unpull "Selective colon<->array conversions"]
darcs pull --external-merge 'kdiff3 --output %o %a %1 %2'
[select "y" then "n"]
[shows the three versions of less.c, none of which have do_arraysep_conv 
listed in the same place as with the internal conflict resolution 
approach above]

I'm a little hazy on how the repository got to the state it's in - there 
was some degree of amended-record and out-of-order pulling/unpulling 
going on, but if pressed I could probably figure it out.

> My best guess is that you've got a three-way conflict here (if this isn't a
> bug).  External resolution doesn't work well for worse than two-way
> conflicts.

But should at least present information consistent with the internal 
resolution approach, right?

-- 
http://members.dodo.com.au/~netocrat




More information about the darcs-users mailing list