[cvsnt] CVS Rename and Tag problem

Williams, Tim WilliamsTim at PRAIntl.com
Tue Jan 8 16:07:09 GMT 2008


Arthur,

I updated the TCVS client to the final release and moved the sandbox
onto a local drive. The result was the same as before where the renamed
file name appeared when checking out the project using the tagname. 

Next I tried your command line procedure.  Much to my surprise the
rename appeared to have not worked at all. Checkout of HEAD after the
rename resulted in the original file name.  I will send you the
requested debugging files in a separate email. 

Thank you for your patience and time.

Tim


-----Original Message-----
From: Arthur Barrett [mailto:arthur.barrett at march-hare.com] 
Sent: Monday, January 07, 2008 4:58 PM
To: Williams, Tim; cvsnt at cvsnt.org
Cc: support
Subject: RE: [cvsnt] CVS Rename and Tag problem

Tim,

> Arthur Barrett asked that I post my follow up observations here.

Thanks.

Also I got this info from your trace:
 Server codepage is CP1252
 Client codepage is CP1252
 Server version is CVSNT 2.5.03 (Scorpio) Build 2382  Client version is
CVSNT 2.5.04 (Zen) Build 2471

CVSNT 2.5.04 was only included in beta builds of TCVS 1.10 - you may
want to upgrade to the final release.

> This is not entirely surprising to me because in its current form, the

> rename command does not rename the file in the CVS repository.

You should never look at the CVSNT repository directly - what the files
are named (for instance) has no bearing on anything at all (same with
CVS - deleted files used to be moved to the 'attic' for instance).  The
actual name of the file for each revision can be seen in the results of
the rlog:

> ----------------------------
> 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.

Clearly revision 1.2 and 1.3 have the same name and the file was not
renamed at all.  When you checkout this file it is finding the 'new'
name which indicates something went completely wrong in the rename.


> 	5.	Committed the Test2 parent folder 
> 				cvs -q commit -m "commit of renamed
file"
> The resulting TCVS window contained the following information:
> 		In
> \\labchofile\CVSSandbox\williamst_sas\CVSSDLC\SAS\Define\test2:



OK - this is NOT the 'parent folder' this is the actual folder - the
parent folder is 'Define'.  Also that does not look like a local folder
to me (open source newsgroups will not diagnose problems with network
drives).




> "C:\Program Files (x86)\CVSNT\CVSNT Tools\cvs.exe" -q commit -m 
> "commit of renamed file"
> 		CVSROOT=:sspi:LABCVSTEST:D:/CVSRep/OPSTEST
> 
> 	
> D:/CVSRep/OPSTEST/SDLC/CVSSDLC/SAS/Define/test2/.directory_history,v
> <--  directory update cvs server: could not get info for
> `SDLC/CVSSDLC/SAS/Define/test2/D:\CVSTemp\cvsA1.tmp': Operation not 
> permitted
> 		new revision: 1.2; previous revision: 1.1
> 		done
> 
> 		Success, CVS operation completed




OK - aside from the fact that the command returned a status of 'success'
the command clearly failed with this error:

 D:/CVSRep/OPSTEST/SDLC/CVSSDLC/SAS/Define/test2/.directory_history,v
 <--  directory update cvs server: could not get info for
 `SDLC/CVSSDLC/SAS/Define/test2/D:\CVSTemp\cvsA1.tmp': Operation not
permitted



Please run 'cvsdiag' on the server and then (with allow clients to trace
server still enabled) re-run your tests using a sandbox on a local disk:

  C:
  cd \
  mkdir renametest
  cd renametest
  cvs co CVSSDLC
  cd CVSSDLC\SAS\Define
  mkdir test3
  cvs add test3
  cd test3
  copy con Original2.sas
One
Two
<Ctrl-Z>
  copy Original2.sas Original1.sas
  cvs add Original2.sas Original1.sas
  cd ..
  cvs ci -m "new dir/file" 
  cd test3
  type con >> Original2.sas
Three
Four
<Ctrl-Z>
  copy Original2.sas Original1.sas
  cvs ci -m "new rev"
  cd ..
  cvs tag DataShipment1 test3
  cd test3
  type con >> Original2.sas
Five
Six
<Ctrl-Z>
  copy Original2.sas Original1.sas
  cvs ci -m "another new rev"
  cvs edit Original2.sas
  cvs rename Original2.sas New2.sas
  cd ..
  cvs -ttt ci -m "rename" > ..\rename-log.txt 2> ..\rename-err.txt
  cvs rlog CVSSDLC/SAS/Define/test3
  cd \renametest
  cvs -ttt co -r DataShipment1 -d DataShipment1 CVSSDLC/SAS/Define/test3
> ..\co-log1.txt 2> ..\co-err1.txt
  cvs -ttt co -d HEAD CVSSDLC/SAS/Define/test3 > ..\co-log2.txt 2>
..\co-err2.txt
  dir HEAD
  dir DataShipment1 


If the contents of the directories HEAD and DataShipment1  are not
correct then please send the results of cvsdiag (from the server),
rename, rlog, dir and the final checkouts to support at march-hare.com

If you can: please zip and send the directory
D:/CVSRep/OPSTEST/SDLC/CVSSDLC/SAS/Define/Test3 from the server.

Regards,


Arthur Barrett





More information about the cvsnt mailing list