bug-cvs
[Top][All Lists]
Advanced

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

Inter-branch one-file join has no effect


From: Jacob Burckhardt
Subject: Inter-branch one-file join has no effect
Date: Fri, 2 Nov 2001 16:40:31 -0800

digrazia@vistasource.com writes:
>     CVS version:  1.11.1p1 (client/server)  Linux
> 
>     CVS command: cvs update -j2.10 -j2.11 com.c
> 
>     2.10 and 2.11 are on branch22; local working file is on branch5
> 
>     2.11 was produced by deleting ten consecutive lines at line 7679 in 2.10.
>     The corresponding lines are at line 7598 in com.c(branch5).
> 
>     The join does not change the local file.
> 
>     Could that be because the change made between 2.10 and 2.11 is too far
>     away from the corresponding text in the local file (82 lines)?

cvs will still be able to find those 10 lines because it can compare
com.c to version 2.10 which also has those 10 lines.  When editing
com.c, you probably deleted 82 lines at some earlier point in the
file.  But that won't prevent cvs from being able to still find the
other 10 lines which are common to both 2.10 and com.c.  The fact that
those 10 lines start at a different point won't cause any difficulty
for cvs.  cvs still knows that those 10 lines in com.c correspond to
the 10 lines at a different starting line number in 2.10

I created some sample files which match the specifications you
describe and cvs deleted the 10 lines.  However, I picked simple
examples.  Your example is probably more complicated.  For example, it
might have those 10 lines repeated in more than one place in the
various versions.  A bug in cvs-1.11 and earlier versions cause cvs to
sometimes not correctly handle these kinds of complicated merges.  But
the cvs version you are using has a fix for this bug.  However, the
author of the fix, Karl Tomlinson, said that he thought there might
still be some cases left where merge bugs might still occur.
Therefore, I would like to try to reproduce your bug.  Please send me
the following three versions, so I can try to reproduce it:

version 2.10
version 2.11
com.c (working file on branch5 before you ran the update command)

If your files contain proprietary or private information, then you
could try using a UNIX sed command to change it so it no longer has
private info:

sed 's/[a-z]/x/g' < com.c > com.c_changed

So if com.c is private, then you should be able to send me the
non-private file com.c_changed.  Use a similar command for 2.10 and
2.11 and please also send changed versions of those files.

Thanks.




reply via email to

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