[cvsnt] Checkout single file with tag does not always work

John Rushworth john.rushworth at onstreamsystems.com
Tue Mar 25 06:54:49 GMT 2003


Hi,

As part of a simple clean build system we are using we sometimes want to
check out tagged versions of single files to a specified directory:

	i.e. cvs co -d tmp_dir -r tag_name filename

Frustratingly, for some files it works, and for others it doesn't!!!

For files where it doesn't work we get:

	cvs server: in directory .:
	cvs [server aborted]: there is no version here; do 'cvs checkout' first

This is bad enough, but it also removes tmp_dir from the client machine...
D'oh!

Both of the listed command line clients give the same results

	Client: Concurrent Versions System (CVS) 1.11.2 (client)
	Client: Concurrent Versions System (CVSNT) 1.11.1.3 (Build 72)
(client/server)
	Server: Concurrent Versions System (CVSNT) 1.11.1.3  (Build 57h)
(client/server)

I had a search back through the archives and found references to similar
problems:
	http://www.cvsnt.org/pipermail/cvsnt/2002-June/002339.html
	http://www.cvsnt.org/pipermail/cvsnt/2002-August/003195.html
	http://www.cvsnt.org/pipermail/cvsnt/2002-November/003936.html

but no answers....

This seems like a reasonably basic sort of request to make and, whilst I am
new to CVS, I would have expected it to just work.

Is this a bug, or am I doing something wrong?

I have included some traces....

/*
 *  already created directory fred.
 *  tried checkout of tagged file
 *  but end up just getting directory fred removed!!
 */
Y:\>cvs -t checkout -d fred -rv2_0_0_0 Releases\license.txt
-> main loop with CVSROOT=:pserver:server1/usr/local/cvsroot
 -> Connecting to server1(192.168.0.3):2401
S-> do_module (Releases\license.txt, Updating, , )
S-> do_module (Releases/license.txt, Updating, fred, )
S-> Create_Admin (., fred, C:/cvsrepo/usr/local/cvsroot/Releases, , , 0, 0)
S-> unlink(./CVS/Tag)
-> Create_Admin (., ., /usr/local/cvsroot/Releases, , , 0, 1)
-> unlink(./CVS/Tag)
-> unlink(CVS/Tag)
 -> ParseInfo(C:/cvsrepo/usr/local/cvsroot/CVSROOT/rcsinfo, Releases, ALL)
S<- Create_Admin
cvs server: in directory .:
cvs [server aborted]: there is no version here; do 'cvs checkout' first
-> rename(CVS/Entries.Backup,CVS/Entries)
-> unlink(CVS/Entries.Log)
-> unlink_file_dir(fred)
-> Lock_Cleanup()

/*
 * Now, take the tag off and it works perfectly...
 *
 */
Y:\>cvs -t co -d fred Releases\license.txt
-> main loop with CVSROOT=:pserver:server1/usr/local/cvsroot
 -> Connecting to server1(192.168.0.3):2401
S-> do_module (Releases\license.txt, Updating, , )
S-> do_module (Releases/license.txt, Updating, fred, )
S-> Create_Admin (., fred, C:/cvsrepo/usr/local/cvsroot/Releases, , , 0, 0)
S-> unlink(./CVS/Tag)
-> Create_Admin (., ., /usr/local/cvsroot/Releases, , , 0, 1)
-> unlink(./CVS/Tag)
-> unlink(CVS/Tag)
 -> ParseInfo(C:/cvsrepo/usr/local/cvsroot/CVSROOT/rcsinfo, Releases, ALL)
S<- Create_Admin
S-> server_register(license.txt, 1.2, Initial license.txt, , , , )
S-> Register(license.txt, 1.2, Initial license.txt, ,  )
S-> rename(CVS/Entries.Backup,CVS/Entries)
S-> unlink(CVS/Entries.Log)
S-> fopen(C:/cvsrepo/usr/local/cvsroot/CVSROOT/history,a)
S-> checkout (C:/cvsrepo/usr/local/cvsroot/Releases/license.txt,v, 1.2, ,
(function))
S-> server_register(license.txt, 1.2, Initial license.txt, , , , )
S-> Register(license.txt, 1.2, Initial license.txt, ,  )
U fred/license.txt
-> rename(.new.license.txt,license.txt)
-> Register(license.txt, 1.2, Sun Mar 23 23:37:46 2003, ,  )
S-> rename(CVS/Entries.Backup,CVS/Entries)
S-> unlink(CVS/Entries.Log)
-> rename(CVS/Entries.Backup,CVS/Entries)
-> unlink(CVS/Entries.Log)
-> Lock_Cleanup()


/*
 *  So put the tag back into the equation and try again....
 *  but it fails....
 */
Y:\>cvs -t checkout -d fred -r v2_0_0_0 Releases\license.txt
-> main loop with CVSROOT=:pserver:server1/usr/local/cvsroot
 -> Connecting to server1(192.168.0.3):2401
S-> do_module (Releases\license.txt, Updating, , )
S-> do_module (Releases/license.txt, Updating, fred, )
cvs server: in directory .:
cvs [server aborted]: there is no version here; do 'cvs checkout' first
-> Lock_Cleanup()

Thanks
John


#####################################################################################
This e-mail message has been scanned for Viruses and Content and cleared 
by MailMarshal
#####################################################################################


More information about the cvsnt mailing list