[Top][All Lists]

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

Re: Undesired Sticky Tags With cvs update

From: Eric Siegerman
Subject: Re: Undesired Sticky Tags With cvs update
Date: Tue, 26 Feb 2002 15:34:25 -0500
User-agent: Mutt/1.2.5i

On Tue, Feb 26, 2002 at 01:27:41PM +0000, Chuck Taylor wrote:
> On Mon, 25 Feb 2002 14:49:38 -0500, Eric Siegerman
> <address@hidden> wrote:
> >...why are you only tagging some of the files?  Just tag
> >everything; then it won't be a problem.
> We have preferred so far to create branches only on files that were
> being modified in conjunction with a task because doing so for the
> entire directory tree introduces another set of "problems," at least
> from our perspective (okay, MY perspective, since I'm the one
> responsible for the scheme we're using).  Such as:
>   -- Creating branches in hundreds of source files, then committing
>      changes to only a few, seems wasteful

Not very.  It takes a couple of minutes, but uses only a few
bytes per file.  And it saves the effort of keeping manual track
of which files you've tagged and which you haven't -- and the
much more than a couple of minutes it takes to recover when
someone inevitably changes a file and forgets to tag it.  Been
there, done that.  That's why I tag everything.

If you're wondering how to tell which files were modified for a
given task, when the whole project has been tagged:  use "cvs -nq
update" or "cvs diff" for that.

If your project grows an order or two of magnitude, the time it
takes to apply a tag will start to make a frequent-tagging
paradigm like this unworkable -- projects like FreeBSD (and
presumably NetBSD) only apply tags at major milestones, not for
every little task.  At that scale, you'll have to either change
your paradigm or abandon CVS.

>   -- The recursive action of cvs tag puts a sticky tag on
>      directories themselves, which interferes with cvs add
>      ("-->Using per-directory sticky tag ..." followed by errors
>      like "cannot add a file on a branch...").

Upgrade!  The current CVS is quite happy to add files on a
branch.  And indeed, it seems to me that that's what you want.
If a file is added in conjunction with a given task, then it
shouldn't appear on the trunk until the task's branch is merged.

> >This was discussed in another thread only a week or two ago, but
> >what it comes down to is: in CVS, a tag marks the state of the
> >*entire project* at a given point in time.
> Do you recall the title of the thread?  I'll read it if I can find it.

"Should I Branch Modules / Files or the Main Line?"  My comments
are largely a paraphrase from memory, and an amplification, of this
post from that thread:

> My group is familiar with using non-branch tags to mark the state of
> the entire project.  We (I) hadn't considered branches and their
> associated tags to do the same.

Please do consider it :-)  You'll save yourselves a lot of grief.

> Thanks.  But that leads me to the same mystery as Mr. Bowen: the -f
> option tends to put CVS into an invalid state, and at least two of us
> think that's a bug, but it's apparently not a high-profile one, so no
> one's been motivated to fix it.

My guess is that few people use -f with any regularity...

> Yet someone took the time to implement the -f option in the cvs tag
> command, and presumably it works as it was meant to work.  What was
> its intended purpose?

No clue.  Sorry.

It occurs to me that this option might be more useful if it
worked properly, but I don't really know what "properly" is.  I
guess your proposal's as good as any...


|  | /\
|-_|/  >   Eric Siegerman, Toronto, Ont.        address@hidden
|  |  /
One ring to rule the mall.
        - Movie review headline, eye Magazine

reply via email to

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