info-cvs
[Top][All Lists]
Advanced

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

Re: CVS - import to 1.1


From: Eric Siegerman
Subject: Re: CVS - import to 1.1
Date: Tue, 12 Mar 2002 00:28:32 -0500
User-agent: Mutt/1.2.5i

Greg answered most of your questions.  Let me just fill in one
missing piece:

On Mon, Mar 11, 2002 at 09:22:44PM -0500, Matthew Persico wrote:
> I always though that in the presence of a branch, a command w/o a -r option
> worked on latest revision, main line code.

*Except* for the vendor branch.  The rule is:  if a file was
imported to the vendor branch, and nobody has yet checked in any
local changes on the trunk (i.e. if the version of the file on
the vendor branch is still current), then (and only then) the
default revision is the latest one on the vendor branch.

More specifically, the default revision is always the latest one
on the "default branch".

The default branch is usually the trunk.  But when you first "cvs
import" a new file foo,  CVS sets its default branch to the
vendor branch (1.1.1, unless you specified otherwise).  The first
time someone "cvs commit"s a new revision of foo *to the trunk*,
CVS switches the default branch to the trunk; and there it stays
forevermore, unless you do the "revert" thing talked about in the
manual.  If you later "cvs import" a new revision to the vendor
branch, the default branch is NOT changed; it stays wherever it
was before.

The net effect of all this is:
  - If a file was first made known to CVS via "cvs import",
    and no local changes have been committed to it (i.e. the
    highest trunk revision is 1.1), then the "default branch"
    is the vendor branch
  - In *all* other circumstances, the default branch is the
    trunk

(Actually, there's one other way for the default branch to
change:  someone can change it manually.  But, except for
reverting to the vendor branch as described in the manual, you
should *never* do this.)

"cvs log" tells you which branch is the default for a given file;
look for the "branch:" line.  If no value is shown, the trunk is
the default branch.


> I guess I need to re-read how branches work.

I was going to tell you to read the "third-party sources"
section, but that doesn't seem to explain this in any detail.
Neither does the reference node on "cvs import".  There are
hints, but they'd probably only be comprehensible to someone who
already understood the situation.  E.g. there are a number of
references to the default branch, but I can't find any
explanation of what that is or how CVS uses it.  *sigh*

So now that I've explained it a bit, try rereading the two
sections I mentioned:
        http://www.cvshome.org/docs/manual/cvs_13.html#SEC104
        http://www.cvshome.org/docs/manual/cvs_16.html#SEC136
With luck, those hints that didn't make any sense before will
jump out at you this time through :-)

--

|  | /\
|-_|/  >   Eric Siegerman, Toronto, Ont.        address@hidden
|  |  /
"Outlook not so good."  That magic 8-ball knows everything!
I'll ask about Exchange Server next.
        - Anonymous



reply via email to

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