Community technical support mailing list was retired 2010 and replaced with a professional technical support team. For assistance please contact: Pre-sales Technical support via email to sales@march-hare.com.
Hello, I have been using CVSNT for about 6 months on a very small scale and I love it. I also appreciate all the support given and the active participation of so many people. I have been following this discussion and the resulting confusion. I did some testing, re-read the cederqvist manual on this subject and re-read the original note which lead to the change in the import function. I believe I understand what is happening and can clear up some confusion ( then again, I could be totally wrong ). This is my best guess: There seems to be some confusion between branches and tags. If I understand correctly, to truly understand which branch you are on you must look at the third number in the revision 1.1.1 and 1.1.2 are different branches. The import function always puts files in the 1.1.1 branch ( cederqvist manual - section on tracking third-party sources. ) When you first run the import command, the file will become the first revision on the 1.1.1 branch ( 1.1.1.1 ). The 'Vendor' name is added as a symbolic tag to the branch ( 1.1.1 ) and the 'Release' name is a tag for the latest revision on the branch ( 1.1.1.1 ) If you import a new version of the file with a different vendor name and release version, you will get 1.1.1.2 with branch 1.1.1 having two symbolic tags and 1.1.1.2 having the new release tag. Since a branch with 2 symbolic tags is not a usual CVS situation, many of the graphing programs will incorrectly display as having 2 branches with the latest symbolic tag having all the revisions. In reality there is one branch with two tag names. I confirmed this by explicitly checking out files for each 'Vendor' name. In both instances I received the latest revision ( 1.1.1.2). Below is some testing with CVSNT 2.0.26 as client and server which shows the above. I imported a directory with only 1 file, imptest.txt. I modified this file between each import. The log information was obtained using wincvs C:\Temp\cvsadmin\import>cvs import -m "version 1" imptest VENDOR_A REL_A N imptest/imptest.txt U imptest/test.txt No conflicts created by this import Log Info after import: Rcs file : '/test/imptest/imptest.txt,v' Working file : 'imptest.txt' Head revision : 1.1 Branch revision : 1.1.1 Locks : strict Access : Symbolic names : 1.1.1.1 : 'REL_A' 1.1.1 : 'VENDOR_A' Keyword substitution : 'kv' Total revisions : 2 Selected revisions : 2 Description : ---------------------------- Revision : 1.1 Date : 2004/2/26 20:0:6 Author : 'JWH02' State : 'Exp' Lines : +0 0 Branches : 1.1.1 Description : Initial revision ---------------------------- Revision : 1.1.1.1 Date : 2004/2/26 20:0:6 Author : 'JWH02' State : 'Exp' Lines : +0 0 Description : version 1 =============================================== C:\Temp\cvsadmin\import>cvs import -m "version 2" imptest VENDOR_B REL_B U imptest/imptest.txt U imptest/test.txt No conflicts created by this import Rcs file : '/test/imptest/imptest.txt,v' Working file : 'imptest.txt' Head revision : 1.1 Branch revision : 1.1.1 Locks : strict Access : Symbolic names : 1.1.1.2 : 'REL_B' 1.1.1 : 'VENDOR_B' 1.1.1.1 : 'REL_A' 1.1.1 : 'VENDOR_A' Keyword substitution : 'kv' Total revisions : 3 Selected revisions : 3 Description : ---------------------------- Revision : 1.1 Date : 2004/2/26 20:0:6 Author : 'JWH02' State : 'Exp' Lines : +0 0 Branches : 1.1.1 Description : Initial revision ---------------------------- Revision : 1.1.1.2 Date : 2004/2/26 20:3:18 Author : 'JWH02' State : 'Exp' Lines : +1 -1 Keyword : 'kv' CommitID : '880403e51050000' Description : version 2 ---------------------------- Revision : 1.1.1.1 Date : 2004/2/26 20:0:6 Author : 'JWH02' State : 'Exp' Lines : +0 0 Description : version 1 =============================================== C:\Temp\cvsadmin\import>cvs import -m "version 3" imptest VENDOR_A REL_C cvs server: ERROR: tag VENDOR_A already exists in /test/imptest/imptest.txt,v cvs server: ERROR: tag VENDOR_A already exists in /test/imptest/test.txt,v U imptest/test.txt No conflicts created by this import ( In the above, I received an error because I used the same vendor version as previous, however the revision is imported, but without a release tag as shown below ) Rcs file : '/test/imptest/imptest.txt,v' Working file : 'imptest.txt' Head revision : 1.1 Branch revision : 1.1.1 Locks : strict Access : Symbolic names : 1.1.1.2 : 'REL_B' 1.1.1 : 'VENDOR_B' 1.1.1.1 : 'REL_A' 1.1.1 : 'VENDOR_A' Keyword substitution : 'kv' Total revisions : 4 Selected revisions : 4 Description : ---------------------------- Revision : 1.1 Date : 2004/2/26 20:0:6 Author : 'JWH02' State : 'Exp' Lines : +0 0 Branches : 1.1.1 Description : Initial revision ---------------------------- Revision : 1.1.1.3 Date : 2004/2/26 20:6:51 Author : 'JWH02' State : 'Exp' Lines : +1 -1 Keyword : 'kv' CommitID : '790403e51db0000' Description : version 3 ---------------------------- Revision : 1.1.1.2 Date : 2004/2/26 20:3:18 Author : 'JWH02' State : 'Exp' Lines : +1 -1 Keyword : 'kv' CommitID : '880403e51050000' Description : version 2 ---------------------------- Revision : 1.1.1.1 Date : 2004/2/26 20:0:6 Author : 'JWH02' State : 'Exp' Lines : +0 0 Description : version 1 =============================================== In summary, if I am correct about what is happening, then I would think the proper syntax checking for the import command would be that the 'Vendor' tag must match the previous vendor tag and the 'Release' tag must not match any previous release tags. If I am not correct, then I hope someone will be able to explain this. Thank you, John Hoey