[Top][All Lists]

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

The use of CVS Branches???

From: Patrice Martin - GRE
Subject: The use of CVS Branches???
Date: Thu, 21 Jun 2001 15:21:47 +0200


I use CVS V1.10, and i am in confusion with the CVS branches.

First, what is the basic difference between "cvs commit" and "cvs

I think that my problem came, because i track my source evolutions by
always doing an "cvs import" from the head directory of my project.
I have made this choice, because there is often lot of modifications
made at the same time in that project.
So in intent to not do "cvs commit", "cvs add", "cvs remove", and so on
each time, from file to file, or directory to directory, i do an "cvs
import" one for all, starting at the head directory of the project, once
i want to do a version.
It's work well like this until last month.

But recently, i want to make branches for tracking parallel development
of the project, because one part of the project go in maintenance, and
the other part stay in development with evolutions and new

So i create a branch to do this, with the next steps :
- first do a "cvs import" of the latest version of the project, to make
a new taged version in the repository of CVS, because it is impossible
to do a branch from the latest version, but in deed the two versions
seems to be the same. The import command used is "cvs import $option
$projet $branche V$version_cvs", with the following signification for
the parameters :
 option = either "-ko", either "-b <branch-number> -ko, depending where
the action must be done
 projet = the name of the selected project
 branche = either the trunk reference, either the branch reference,
depending where the action must be done
 version_cvs = the tag that identify the release of the version in a
form that cvs accept (with no dot inside, e.g. 1-2-2).
- then do a "cvs rtag" with the n-1 version to not do the branch from
the last version in the repository. The rtag command used is "cvs -q
rtag -b -r V$version_cvs B$version_cvs $projet", with the parameters
matching the signification above.
- next do the modifications for the new version in my working
directories tree
- next do the "cvs import" in the branch just created in the repository

But by doing like this, i cant merge the modifications made in that
branch, because
the cvs (in fact rcs) revision number doesn't match the cvs revision
number of the trunk.
And then the diff, update and merge commands doesn't work very well...

i've read in the "Open Source development with CVS" documentation, that
with the import command
(with import, -b Branch imply that Branch is an branch number, not a tag
==> is that my problem???)
Vendor branches are odd-numbered, the opposite of regular branches.

So now i am completely confused with the used of branches with CVS.

May i have some explanations and help to understand what's happen, and
then try to fix my problem,
and then used correctly CVS branches, for tracking parallel development.

Thank's in advance for yor help and explanations,
Patrice Martin

reply via email to

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