Keiron,

As I suspected, $Name$ is the tag used to check out the file.  In my 
maint checkout, I have a sticky CVS/Tag specifying "fop-0_20_2-maintain" 
(symbolic names cannot contain dot, because "a  revision  is  com­posed  
of  one  or  more numeric or symbolic fields separated by periods"  - 
`man co').  Whenever I update, I am going to get that tag, and any 
$Name$ fields will contain that text.  If the original conf/config.xml 
contains

<key>version</key>
<value>$Name$</value>

I will actually see (given the default -kv flag to CVS)

<key>version</key>
<value>$Name: fop-0_20_2-maintain $</value>

when I checkout or update.  As I can't commit, I can't test this.  Does 
it work that way?  If so, the basis for providing the version string in 
the code is already in place.

If that's unbearably ugly, add some code to Version.java to massage it. 
 Symbolic names can contain any character except [0-9$@.;:], so there's 
plenty of room for establishing a conventional character to represent a 
space in the transformed output.  E.g. FOP@0_20_2-maintain.  I would be 
inclined to leave the underscores; I would be inclined to leave 
FOP-0_20_2-maintain untouched, just stripping off the keyword noise.

$State$ is also available, but seems to require a cvs admin -s.

What about HEAD?  Just set a sticky tag of, say, "FOP-1_0dev" for 
commits, and notify that development checkouts must use this tag.  If 
somone forgets when checking out, I don't think it's critical for 
development, as long as the commits use the tag.  Releases will be 
frozen with the appropriate release tag, e.g., FOP-0_20_2-RC3, as I 
assume is currently done using rtag.

Peter

Keiron Liddle wrote:

>
> This page has the cvs keywords:
> http://www.loria.fr/~molli/cvs/doc/cvs_12.html
>
> None of them seem to be useable for the version of a product.
> You still need to change something to make this update anyway.
>
> On 2002.04.05 00:44 Peter B. West wrote:
>
>> Keiron,
>>
>> I don't know the nuts and bolts of CVS, but I always assumed that 
>> tags were somehow related to the RCS symbolic name, accessible via 
>> $Name$. $Name$ has some peculiarities due to the fact that there is 
>> not a unique name attached to the current version; I think it is set 
>> in the output files from the symbolic name under which the file is 
>> retrieved. I don't know, off hand, what the deault behaviour is.  I 
>> can check the RCS characteristics here.  Do you want to install 
>> $Name$ in one of the CVS files and see what it looks like when 
>> retrieved?
>>



---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, email: [EMAIL PROTECTED]

Reply via email to