[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: Branch Numbers
Re: Branch Numbers
Tue, 10 May 2005 08:37:56 -0700 (PDT)
On Tue, 10 May 2005, SUBRAMANIAN, SARAVANAN (SBCSI) wrote:
> How Branch Numbers are formed Internally in CVS.
> I read the manual it is really confusing.
Branch numbers, like verison numbers, are independently assigned in
each file. As branches are sprouted from version X.Y of some file, then
the successive even integers are chosen as the branch number, for
example, X.Y.2, X.Y.4, X.Y.6 and so on. Internally, branch numbers are
represented with an extra zero, like X.Y.0.2.
Even integers are probably chosen to avoid clashing with vendor
branches, which are numbered by odd integers. People rarey use vendor
branches other than 1.
The DCVS software (distributed version of CVS) provides configuration
control over branch numbers as a key part of its implementation
strategy. So that branches independently created in replicated
respositories do not clash with each other, DCVS nodes are manually
configured with non-clashing ranges of branch numbers. E.g. if we
formed a DCVS network, your range might be even integers between 1000
and 1998, and my range might be 2000 to 2998.
> We have two branches, after we created the second branch, when the
> developers start committing the files,
> I found out that one file is committed with 220.127.116.11
> And other with 18.104.22.168
> Please help me found the why there is a difference in the above?
It's possible that one of the two files simply didn't get the first
branch: perhaps the file simply didn't exist at the time that branch
was created, or was otherwise excluded in some other way. And so when
the second branch was created, the next available positive even integer
was 2 for that file. So branch number 1.12.2 was created off version
1.12. Branch number 2 was already taken in the other file, so your
symbolic branch got number 4 in that file.
In general, branch numbers will differ between files for the same
logical branch, just like version numbers differ in a set of files that
form a logical, tagged release. All of the RCS revision operations are
done independently on each file.
Meta-CVS: the working replacement for CVS that has been stable since
2002. It versions the directory structure, symbolic links and execute
permissions. It figures out renaming on import. Plus it babysits the kids
and does light housekeeping! http://freshmeat.net/projects/mcvs