[cvsnt] BUG when merging and removing files on branches

Kevin zzz at zzz.zzz.org
Thu May 6 08:17:25 BST 2004


I have found a corner case where merging does not work properly. The
scenario is:

(fixed pitch font for 'diagram')

 1.9 --------------- branch
  |                    |
  |      merge         |
 1.10 -------------> 1.9.6.1
  |                    |
  |      merge         |
 (1.11) -----------> 1.9.6.2
  DEAD               (alive)


Steps to reproduce:
- Create a file on trunk (rev 1.9)
- Create a branch
- Modify the file on trunk and commit (rev 1.10)
- Merge the trunk to the branch and commit (rev 1.9.6.1)
- Remove the file on trunk (rev 1.11 DEAD)
- Merge the trunk to the branch

The last step generates a message like:
U file.txt
cvs server: file file.txt has been modified, but has been removed in
revision HEAD

The command for the last step was (checkout and merge at one go):
cvs -q checkout -P -r branch -jHEAD module (in directory U:\)

BUG: The file was _not_ scheduled for removal.

I had another similar file that was not modified on the trunk (i.e. revs.
1.10 and 1.9.6.1 were not created). This file was scheduled for removal
during the merge. In this case the output was:

U file2.txt
cvs server: scheduling file2.txt for removal





cvs version
Client: Concurrent Versions System (CVSNT) 2.0.34 (client/server)
Server: Concurrent Versions System (CVSNT) 2.0.34 (client/server)





--
Kevin Agius





More information about the cvsnt mailing list