[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: Branching
From: |
Mark D. Baushke |
Subject: |
Re: Branching |
Date: |
Tue, 24 Aug 2004 07:49:22 -0700 |
-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1
Martin Marques <address@hidden> writes:
> I a project we are working on we created a tagged branch for what will
> be version 1.0 (the intention is to freeze the development before we
> release).
That is a fine idea.
> Now, what I'm doing now is working in two separated directories, one
> with the 1.0 branch, and the other with the head. Is this the correct
> way of working with cvs and branching?
It is a common way to work. For example, CVSHOME uses the
cvs1-11-x-branch for our STABLE cvs 1.11.x releases and the mainline
for FEATURE cvs 1.12.x releases.
There is also a cvs1-11-x-branch-last-merge label version which
tags the versions of the cvs1-11-x-branch that were last merged into
the mainline.
> And also, what happens if I have to modify a file in the 1.0 branch,
> but I want it to be committed to the head branch as well?
a) commit your change to the branch-name branch
b) checkout a new mainline copy of the module
c) in the mainline copy, merge the change from the branch
cvs update -jbranch-name-last-merge -jbranch-name
now, resolve any conflicts, build it, test it, commit it
(note: I typically make a list of just the files that get merged
and the two versions involved with the update for the
verification step in #d.
d) go back to your copy of the branch-name where you did the
commit and move the branch-name-last-merge tag forward
cvs tag branch-name-last-merge ...list-of-files...
this command will need to have the -F switched added to really
move the label forward, but the error messages will contain
the version numbers that I can use to compare the list with
that occured in step #c.
when I am sure that all is well, then really do the commit
cvs tag -F branch-name-last-merge ...list-of-files...
There are many other ways to approach this operation, including just
capturing a copy of the diff and using 'patch' to your mainline version,
but the process outlined above should work fine.
> Do I have to apply the patch in each branch separately?
Yes.
-- Mark
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.2.3 (FreeBSD)
iD8DBQFBK1Vy3x41pRYZE/gRAkzkAJ9fMRo6GjfTwNHaJaIJ+qwDj8z11gCdFIhf
KjoLHzSdONto35T0+e8rqO0=
=qyrQ
-----END PGP SIGNATURE-----
- Branching, Martin Marques, 2004/08/24
- Re: Branching,
Mark D. Baushke <=