Since Thomas is talking about branches, I thought I would forward
this advice I received off-list. I think it makes a lot of sense:
Hi,
I have some 8 years of using CVS for 40-50 modules. As I understand
you understand it is of great importance to have a good policy
working with branches in CVS.
My principles for branches (shared by many others) can be
summarized as:
- set a ordinary tag on the branch point, name it BRANCHED_VX_Y
- create a branch on the branchtag, call if BRANCH_VX_Y
Now, when you want to find what has happend on your branch you can
diff from the branch point to the branch head by doing
cvs diff -r BRANCHED_VX_Y -r BRANCH_VX_Y
Many people forget to create a tag where the branch is created
which makes it hard to syncronize between branches.
VX_Y is a symbol for the prefix of the version, i.e V0_39. V0_39_1
is then a tag on the branch.
Main development is performed on the main trunk. I.e with the above
example there are no tags starting with V0_39 on the main trunk
after the tag BRANCHED_V0_39. The first tag should be an increment,
e.g V0_40 or higher.
CVS is not very user friendly doing merges between branches. The
first merge beteen branches is simple, just use the BRANCHED_VX_Y-
tag. merging the work on the branch BRANCH_VX_Y to HEAD (symbolic
name for main trunk) by doing "cvs update -j BRANCHED_V0_39 -j
V0_39_1" in HEAD.
If you do incremental merges from one branch to another you need to
manually keep track of points of merge. A good habit is to tag
these point as MERGED_FROM_xxx on the target and MERGED_TO_xxx on
the source. The next time you to a merge you use one of these tags
to refere to from where the merge should be done.
Hans-Christoph Steiner wrote:
On Oct 30, 2006, at 3:24 PM, IOhannes m zmölnig wrote:
Hans-Christoph Steiner wrote:
Anyone have any good advice on making a branch in CVS? Or
perhaps a good HOWTO? Its time to make a branch for the
Pd-0.39.2-extended release.
what is your exact problem?
how does "cvs tag -b extended_0_39_2" (within the cvsroot) not
fit your needs?
btw, googling for "cvs tag" returned http://www.psc.edu/~semke/
cvs_branches.html as the second hit (the first one was a dead link)
there is no magic involved in tagging.
btw, i thought someone mentioned a "best practice CVS" document a
while ago ;-)
I know tagging, that's dead simple. I am talking about a branch.
I can google "cvs tag" or "cvs branch" myself too, but a personal
recommendation is worth a lot more than a google search.
I am more interested in experience in managing changes in the
branch. Some changes should get folded in to MAIN, others are
only for the branch. I am sure there are things that you can do
that will make your life easier when the time to merge comes.
.hc
All information should be free. - the hacker ethic
_______________________________________________
PD-dev mailing list
PD-dev@iem.at
http://lists.puredata.info/listinfo/pd-dev
<jonas.bulow.vcf>