info-cvs
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: Bug or known weakness in CVS RCS-keyword expansion?


From: Stuart Cooper
Subject: Re: Bug or known weakness in CVS RCS-keyword expansion?
Date: Wed, 12 Jul 2006 10:18:46 +1000

try cvs update -A instead.

nope, that didn't work but it was well worth a try.

I've got a handscrawled note next to $Name$ in my reference guide which reads:

################################################################
"This keyword is expanded only if one checks out with an explicit tag name"
eg cvs co -r tag gives a $Name: tag$ expansion of the keyword"
################################################################

Obviously the rules are a bit more subtle than that. Keyword expansion happens
at checkout time, so I guess your update -r TAG1 causes a checkout of a.txt
only and not b.txt (regardless of whether it's update -A -r TAG1 or just
update -r TAG1) and the expansion of $Name$ happens to a.txt only as that's
the only file which gets checked out.

The Tag in the text file CVS/Entries is kept OK in each case:
TAG1
$ cat CVS/Entries
/a.txt/1.1.1.1/Tue Jul 11 23:59:34 2006//TTAG1
/b.txt/1.1.1.1/Wed Jul 12 00:14:22 2006//TTAG1
D

$ cat CVS/Entries
/a.txt/1.1.1.1/Tue Jul 11 23:59:34 2006//TTAG2
/b.txt/1.2/Wed Jul 12 00:14:16 2006//TTAG2
D

Notice when I do the cvs update -r TAG1 from a TAG2 state, I only get
one file updated:
$ cvs update -r TAG1 .
cvs update: Updating .
U b.txt

Only b.txt checked out by this revert-update, so only b.txt keyword-expanded.

I guess to be completely sure of $Name$ validity, you'd trash the
project completely
and do a fresh cvs co -r TAG1 project

Cheers,
Stuart.




reply via email to

[Prev in Thread] Current Thread [Next in Thread]