[Top][All Lists]

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

Undesired Sticky Tags With cvs update

From: Chuck Taylor
Subject: Undesired Sticky Tags With cvs update
Date: Mon, 25 Feb 2002 18:54:17 GMT

My development group uses branches in CVS to manage changes by task.
In a typical task, only a handful of source files may change, out of
hundreds for the whole system.

I discovered last week that if I run

    cvs update -f -r <branch_tag>

in a working directory, then files that don't have <branch_tag>
defined are checked out from the main trunk, as the -f option directs.
However, CVS still applies the <branch_tag> sticky tag to these files,
so subsequent cvs status commands result in errors on files that don't
have the tag:

    cvs status: <file> is no longer in the repository
    File:  <file>    Status: Entry Invalid

This was unexpected for me.  Of course the file is still in the
repository, but it doesn't have the tag that was specified in the cvs
update command.

Of course I can write a script to go back and cvs update -A these
files with nonexistent sticky tags, but it isn't a very efficient
operation.  I'd like to find a way to instruct CVS to do the following
with just one or two commands for an entire directory and avoid a
file-by-file examination:

  1. Check out the most recent branch revision for files that have
     the indicated tag (branch)
  2. Check out the most recent trunk revision for files that don't
     have the indicated tag
  3. *Don't* set the sticky flag for files that don't have the
     indicated tag

1. and 2. are accomplished using the cvs update command I mentioned
above, of course.  3. is the obstacle.  Any suggestions?

For what it's worth, I've seen this behavior in the SGI-supplied port
of CVS 1.10 and in CVS 1.10.7 on Linux (Red Hat 6.2).

Chuck Taylor

reply via email to

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