[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: CVS update: MODIFIED: src ...
From: |
Pierre Asselin |
Subject: |
Re: CVS update: MODIFIED: src ... |
Date: |
Fri, 31 Jan 2003 18:01:00 +0000 (UTC) |
User-agent: |
nn/6.6.4 |
In <mailman.1228.1043988630.21513.bug-cvs@gnu.org> Derek Robert Price
<derek@ximbiot.com> writes:
>I just checked in some tests for the behavior of the $Name$ keyword.
>This is what I noticed:
> 1. Updates and checkouts of branches do not set the $Name$ keyword.
> The doc specifies that $Name$ will be substituted with the
> symbolic name used to check out the revision. It does not specify
> tags and not branches. Ditto for the RCS doc.
> 2. Checkouts from static tags always set $Name$.
>Comments?
Just that I agree with you. You can make a case that $Name$ should be
expanded only on release tags because only a release tag gives
unambiguous information as to what is being built. Personally, I'd
rather have the information on branch tags as well; if I misuse it,
that would be my problem.
> 3. Updates only set $Name$ when the files are otherwise updated.
> i.e. cvs up -A; cvs up -rtag will not set any $Name$ keywords if
> tag specifies the trunk of the tree. We could call this, "as
> documented", since the doc specifies that the $Name$ keyword is
> updated on "checkout", but this does not seem optimal to me.
> After all, cvs up -k* updates the keywords in every file
> regardless of other file status. Why shouldn't $Name$ be updated?
Did you try "update -p" ? I don't remember how it goes, but I think
that "cvs update -p dummyfile > dummyfile" expands the keyword. It will
of course clobber any sandbox changes in dummyfile, so the use case
would be to keep dummyfile around just for its Name keyword, so the
built executable is able to identify itself.