info-cvs
[Top][All Lists]
Advanced

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

Re: CVS and lazy branching


From: Eric Siegerman
Subject: Re: CVS and lazy branching
Date: Mon, 30 Sep 2002 11:52:50 -0400
User-agent: Mutt/1.2.5i

On Mon, Sep 30, 2002 at 04:33:49AM -0700, Johnson, Susan wrote:
> I am wondering if CVS has the concept of lazy 
> branching, i.e. branching only on a per-need
> basis.

Well, in one sense, CVS already does that internally.  You apply
a branch tag to the entire module, but for any given file, CVS
only "creates" the branch when you check a revision into it.
That's why they talk about branch tags being "magic".

(Hmmm, maybe the manual should s/magic/lazy/g ... "magic" is
pretty scary as a technical term, and not very illuminating.)

But that's an internal detail, really.  From your point of view,
you have to branch the entire module.  If you applied a branch
tag to only the files you intended to change, and then went:
        cvs update -r myBranch
you would find your sandbox containing *only* those files; the
untagged ones would all go away.  You've told CVS they're not
on the branch, after all...

CVS tags (both branch and release) mark the state of the entire
module, not just deltas from some previous state.

Of course, you could just update the files in question:
        cvs update -r myBranch file1 file2 file3
ending up with some files in your sandbox on the branch, and
others on the trunk.  But that would be failing to use CVS to
full advantage.  If you later decided to modify file4 as well,
you'd have to remember to branch it too, and forgetting would
mess up your trunk.  If you just branch the entire module, you
don't have to do all that error-prone bookkeeping, since CVS does
it for you.

Indeed, I believe that that bookkeeping was pretty much the whole
reason CVS was written -- that was its added value over raw RCS.
Since then, of course, it's acquired other advantages, like
client/server, but that was the original point.

--

|  | /\
|-_|/  >   Eric Siegerman, Toronto, Ont.        address@hidden
|  |  /
The acronym for "the powers that be" differs by only one letter
from that for "the pointy-haired boss".




reply via email to

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