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 1.12.2.1 > And other with 1.1.4.1 > > 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 _______________________________________________ Info-cvs mailing list [email protected] http://lists.gnu.org/mailman/listinfo/info-cvs
