info-cvs
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Out-of-Order Merging Near the End-of-File


From: Wilks, Daniel
Subject: Out-of-Order Merging Near the End-of-File
Date: Wed, 16 Nov 2011 02:04:05 +0000

I'm using CVS 1.11.22 and just ran across a CVS behavior that I'd never seen 
before and can't find any reference to it on the web.

I have three revisions on a branch, all of them adding lines near the end of a 
file.  They all added methods to a class before the last, short, method in the 
file.  They're in order rev1, rev2, rev3.  I believe that the last set of new 
lines in the file were probably past the end of the file in the trunk.  I'm not 
sure that matters but I think it does.

There have been no changes to this file on the trunk.

I needed to merge the last revision from the branch to the trunk.  I specified 
the two branch revisions like cvs update -j 1.1.2.2 -j 1.1.2.3 thefile.txt.  
The merge failed with a conflict.  When I went to resolve the conflicts the 
merged file in the trunk sandbox contained all the new lines from all three 
branch revisions.

I was able to reproduce this using a short text file with single line changes 
on a branch added at the very end of the file.  Go to merge the last change 
into the trunk and you get all the changes as conflicts.  It's not a problem 
with out-of-order merging because if the very last change was in the middle of 
the file it merges perfectly.

cvs diff correctly identifies the changes for each revision.

Does anyone know if this is expected behavior?

Many thanks,
Dan


reply via email to

[Prev in Thread] Current Thread [Next in Thread]