[cvsnt] Mergepoint issues on 2.5.0.3 b2382

Harrison, Andy andy.harrison at anite.com
Wed Jan 10 09:55:36 GMT 2007


(Repost, with cut & paste line break errors corrected!)

As mentioned above I've updated to the 2.5.0.3 client, however I'm still
having problems. I've tried the same test on our new (2.5.0.3) and old
(2.0.58d) servers, and the old server merges how I would expect, but the
new one does not:

*** Using the new server:

C:\newrepo\cvstest>cvs version
Client: Concurrent Versions System (CVSNT) 2.5.03 (Scorpio) Build 2382
(client/server)
Server: Concurrent Versions System (CVSNT) 2.5.03 (Scorpio) Build 2382
(client/server)

C:\newrepo\cvstest>echo This is file 1 > file1.txt

C:\newrepo\cvstest>cvs add file1.txt
cvs server: scheduling file `file1.txt' for addition
cvs server: use 'cvs commit' to add this file permanently

C:\newrepo\cvstest>cvs commit -m "commit1" file1.txt
RCS file: /dev/cvstest/file1.txt,v
done
Checking in file1.txt;
/dev/cvstest/file1.txt,v  <--  file1.txt
initial revision: 1.1
done

C:\newrepo\cvstest>cvs tag -b Branch1 file1.txt
T file1.txt

C:\newrepo\cvstest>cvs tag -b Branch2 file1.txt
T file1.txt

C:\newrepo\cvstest>cvs update -r Branch1 file1.txt

C:\newrepo\cvstest>echo This is file 1 modified > file1.txt

C:\newrepo\cvstest>cvs commit -m "commit2" file1.txt
Checking in file1.txt;
/dev/cvstest/file1.txt,v  <--  file1.txt
new revision: 1.1.2.1; previous revision: 1.1
done

C:\newrepo\cvstest>cvs update -A file1.txt
P file1.txt

C:\newrepo\cvstest>cvs update -jBranch1 file1.txt
RCS file: /dev/cvstest/file1.txt,v
retrieving revision 1.1
retrieving revision 1.1.2.1
Merging differences between 1.1 and 1.1.2.1 into file1.txt

C:\newrepo\cvstest>cvs commit -m "commit3" file1.txt
Checking in file1.txt;
/dev/cvstest/file1.txt,v  <--  file1.txt
new revision: 1.2; previous revision: 1.1
done

C:\newrepo\cvstest>cvs update -r Branch2 file1.txt
P file1.txt

C:\newrepo\cvstest>echo This is file 1 modified again > file1.txt

C:\newrepo\cvstest>cvs commit -m "commit4" file1.txt
Checking in file1.txt;
/dev/cvstest/file1.txt,v  <--  file1.txt
new revision: 1.1.4.1; previous revision: 1.1
done

C:\newrepo\cvstest>cvs update -jHEAD file1.txt
RCS file: /dev/cvstest/file1.txt,v
retrieving revision 1.1
retrieving revision 1.2
Merging differences between 1.1 and 1.2 into file1.txt
rcsmerge: warning: conflicts during merge C file1.txt

C:\newrepo\cvstest>echo This is file 1 with resolved conflict >
file1.txt

C:\newrepo\cvstest>cvs commit -m "commit5" file1.txt
Checking in file1.txt;
/dev/cvstest/file1.txt,v  <--  file1.txt
new revision: 1.1.4.2; previous revision: 1.1.4.1
done

C:\newrepo\cvstest>cvs update -A file1.txt
P file1.txt

C:\newrepo\cvstest>cvs update -jBranch2 file1.txt
RCS file: /dev/cvstest/file1.txt,v
retrieving revision 1.1
retrieving revision 1.1.4.2
Merging differences between 1.1 and 1.1.4.2 into file1.txt
rcsmerge: warning: conflicts during merge C file1.txt


*** Using the old server:

C:\oldrepo\cvstest>cvs version
Client: Concurrent Versions System (CVSNT) 2.5.03 (Scorpio) Build 2382
(client/server)
Server: Concurrent Versions System (CVSNT) 2.0.58d (client/server)

C:\oldrepo\cvstest>echo This is file 1 > file1.txt

C:\oldrepo\cvstest>cvs add file1.txt
cvs server: scheduling file `file1.txt' for addition
cvs server: use 'cvs commit' to add this file permanently

C:\oldrepo\cvstest>cvs commit -m "commit1" file1.txt
RCS file: /dev/cvstest/file1.txt,v
done
Checking in file1.txt;
/dev/cvstest/file1.txt,v  <--  file1.txt
initial revision: 1.1
done

C:\oldrepo\cvstest>cvs tag -b Branch1 file1.txt
T file1.txt

C:\oldrepo\cvstest>cvs tag -b Branch2 file1.txt
T file1.txt

C:\oldrepo\cvstest>cvs update -r Branch1 file1.txt

C:\oldrepo\cvstest>echo This is file 1 modified > file1.txt

C:\oldrepo\cvstest>cvs commit -m "commit2" file1.txt
Checking in file1.txt;
/dev/cvstest/file1.txt,v  <--  file1.txt
new revision: 1.1.2.1; previous revision: 1.1
done

C:\oldrepo\cvstest>cvs update -A file1.txt
U file1.txt

C:\oldrepo\cvstest>cvs update -jBranch1 file1.txt
RCS file: /dev/cvstest/file1.txt,v
retrieving revision 1.1
retrieving revision 1.1.2.1
Merging differences between 1.1 and 1.1.2.1 into file1.txt

C:\oldrepo\cvstest>cvs commit -m "commit3" file1.txt
Checking in file1.txt;
/dev/cvstest/file1.txt,v  <--  file1.txt
new revision: 1.2; previous revision: 1.1
done

C:\oldrepo\cvstest>cvs update -r Branch2 file1.txt
U file1.txt

C:\oldrepo\cvstest>echo This is file 1 modified again > file1.txt

C:\oldrepo\cvstest>cvs commit -m "commit4" file1.txt
Checking in file1.txt;
/dev/cvstest/file1.txt,v  <--  file1.txt
new revision: 1.1.4.1; previous revision: 1.1
done

C:\oldrepo\cvstest>cvs update -jHEAD file1.txt
RCS file: /dev/cvstest/file1.txt,v
retrieving revision 1.1
retrieving revision 1.2
Merging differences between 1.1 and 1.2 into file1.txt
rcsmerge: warning: conflicts during merge C file1.txt

C:\oldrepo\cvstest>echo This is file 1 with resolved conflict >
file1.txt

C:\oldrepo\cvstest>cvs commit -m "commit5" file1.txt
Checking in file1.txt;
/dev/cvstest/file1.txt,v  <--  file1.txt 
new revision: 1.1.4.2; previous revision: 1.1.4.1
done

C:\oldrepo\cvstest>cvs update -A file1.txt
U file1.txt

C:\oldrepo\cvstest>cvs update -jBranch2 file1.txt
RCS file: /dev/cvstest/file1.txt,v
retrieving revision 1.2
retrieving revision 1.1.4.2
Merging differences between 1.2 and 1.1.4.2 into file1.txt


As you can see, the two servers select different revisions as the
mergepoint in the final merge, one of which causes a conflict, one does
not. Any suggestions as to how to fix this will be gratefully received.
We are working round it for now by specifying two -j points on the
update merge, however mergepoint functionality was one of the reasons we
use CVS, so we would be very disappointed to lose this.

Rgds,
Andy

--
Andy Harrison - Platform Software Engineer
Anite Telecoms Ltd. Ancells Business Park, Fleet, Hampshire, GU51 2UZ,
UK
"No matter how bad things seem... 
...nothing could be worse than being used as a towel rail." - A.A. Milne


A member of the Anite Group of companies. Please refer to www.anite.com for individual Anite company details. The contents of this e-mail and any attachments are for the intended recipient only. If you are not the intended recipient, you are not authorised to and must not disclose, copy, distribute, or retain this message or any part of it. It may contain information which is confidential and/or covered by legal professional or other privilege. Contracts cannot be concluded with us nor legal service effected by email.  

Anite Group plc
Registered in England No.1798114
Registered Office: 353 Buckingham Avenue Slough Berks SL1 4PF United Kingdom
VAT Registration No. GB 787 418187

Scanned for viruses by BlackSpider MailControl.


More information about the cvsnt mailing list