"Derek R. Price" wrote:
> 
> > Karl, do you know what, specifically, was causing the merging problems?
> I can't come up with a minimal test case based on the message and comments in
> your patch.
> 
> I'm thinking that the eight cases Jacob has might all be examples of only a
> few or even one error case...  Is it possible to pare those down into one or a
> few simple tests?
> 

There are two things that I think could be tested.  The first should definitely be 
tested.  The second is less important.

1) That cvs is making a reasonable effort to guess the intended changes between each 
version which I believe is dependent on using the ancestor file as the common file for 
the 2 2-way diffs.

The files in diff-bug.tar.gz at

http://www.mail-archive.com/bug-cvs%40gnu.org/msg00429.html

are very simple and test this well but don't look much like files you'd expect to see 
under cvs.  I suspect Ingolf's example at

http://www.mail-archive.com/bug-cvs%40gnu.org/msg00548.html

may also test the same thing but I haven't actually looked at this and the files are 
somewhat larger.

2) That the 2 2-ways in diff3 produce the same output when they should.  This has 
caused problems in the past when the two non-common files are the same.  These files 
used to be MINE and OLDER so the problem would occur sometimes when merging a change 
into an unmodified copy of a working file.  See Kevin's bug report

http://www.mail-archive.com/bug-cvs%40gnu.org/msg00288.html

With the patch, OLDER is the common file, so the potential problem could occur if the 
same change was on the branch as on the trunk.  i.e. the changes have already been 
merged in.  So a test might have testcase0-1.1 of Kevin's problem on the trunk, 
testcase0-1.1.2.2 on the branch, then merge the branch changes into the working copy 
twice.  I don't think the current standard version of cvs would have any problem with 
this.

My patch avoids this problem by using the same --horizon-lines arg for each call to 
diff, which Kevin also recommends.

The problem would only occur if the differences between versions were complicated 
enough so that there was more than one possible diff output.  All the examples of this 
problem I have seen have been quite large files, and the problem goes away on trying 
to reduce the size of the files.

Sorry, I don't have time now to assemble tests into a shell script.

Karl.

_______________________________________________
Bug-cvs mailing list
[EMAIL PROTECTED]
http://mail.gnu.org/mailman/listinfo/bug-cvs

Reply via email to