[cvsnt] CVS Rename and Tag problem

Williams, Tim WilliamsTim at PRAIntl.com
Mon Jan 7 19:30:12 GMT 2008

Hello good CVSNT folks,

This question is in follow up to a post on the TCVS mail list "Disable
Rename in TCVS menus?" where I reported a problem I am having with file
renaming and tags.  Arthur Barrett asked that I post my follow up
observations here.

  TCVS 1.10.1 RC10 and CVSNT server 2.5.03 Build 2382.
  CVS Server:  Windows 2003 Server SP1 Standard Edition 
  Sandbox: Windows 2003 Server x64 Enterprise Edition 

Problem Summary:
A tag "DataShipment1" is applied to two test files in a folder. Each
file is at revision 1.2.   Revisions 1.3 are committed for each file.
One file is renamed from Original2.sas to New2.sas and the changes
committed to the repository.   The project is later checked out using
the tag name "DataShipment1." The file in the sandbox is named New2.sas,
not Original2.sas as it was when the file was tagged. 

This is not entirely surprising to me because in its current form, the
rename command does not rename the file in the CVS repository.  However,
not having the file named as it was when the tag was applied will break
our projects.

Arthur asked that I detail the steps I took in TCVS along with the CVS
commands. This is provided below.  I also provide the output from the
command cvs rlog .

Checkout logs for the Head and DataShipment1 tag will be forwarded
directly to March-hare as requested.

Let me know what else I can do to assist.

SAS Sys Admin

Here are the steps I took in recreating the problem. CVS commands shown
in the TCVS window are included where applicable.

1.	Created revision 1.2 of two files: Original1.sas and
Original2.sas in a folder named Test2
2.	Tagged the "Test2" folder with the tag "DataShipment1"
				cvs -1 tag -c DataShipment1
	3.	Edited both files and committed revision 1.3 of each
Original1.sas and Original2.sas

	4.	Renamed Original2.SAS:  Chose CVS | Rename in the TCVS
menu for file Original2.sas.  Renamed it as New2.sas.  
				cvs -q rename Original2.sas New2.sas
	5.	Committed the Test2 parent folder 
				cvs -q commit -m "commit of renamed
The resulting TCVS window contained the following information:
"C:\Program Files (x86)\CVSNT\CVSNT Tools\cvs.exe" -q commit -m "commit
of renamed file"

<--  directory update cvs server: could not get info for
`SDLC/CVSSDLC/SAS/Define/test2/D:\CVSTemp\cvsA1.tmp': Operation not
		new revision: 1.2; previous revision: 1.1

		Success, CVS operation completed

"C:\Program Files 
		(x86)\CVSNT\CVSNT Tools\cvs.exe" -q stat

		Success, CVS operation completed
	6.	Now there are two files in the sandbox folder:
Original1.sas and New2.sas
	7.	Right click on the Test2 parent folder and choose CVS |
Update Special
	8.	Specify tag name : DataShipment1
		cvs.exe" -q update -r DataShipment1 -d
	9.	The files now in the folder Test2 are:  Original1.sas
and New2.sas  (not Original2.sas as expected!).  Both Original1.sas and
New2.sas are at revision 1.2 (as expected)
Output from the command: cvs rlog CVSSDLC/Define/Test2/Original2.sas

RCS file:
head: 1.3
locks: strict
access list:
symbolic names:
	DataShipment1: 1.2
keyword substitution: kv
total revisions: 3;	selected revisions: 3
revision 1.3
date: 2008/01/07 15:59:15;  author: WilliamsTim;  state: Exp;  lines: +3
-2;  kopt: kv;  commitid: 4f847824c522adb;  filename: Original2.sas;
revision 1.3 prior to rename
revision 1.2
date: 2008/01/07 15:56:35;  author: WilliamsTim;  state: Exp;  lines: +3
-3;  kopt: kv;  commitid: 86047824bb128cd;  filename: Original2.sas;
prep for revision 1.2 that will be tagged.
revision 1.1
date: 2008/01/07 15:55:52;  author: WilliamsTim;  state: Exp;  kopt: kv;
commitid: 4f847824b872844;  filename: Original2.sas;
revision 1.1 - header only

More information about the cvsnt mailing list