Douglas Wade Needham <[EMAIL PROTECTED]> wrote:
> I have a question regarding branches. At my employer, we have a major
> new feature which is going to take some considerable effort and time
> (potentially several developer weeks or months), but will create
> significant instability which already undergoes significant change.
> >From previous experience of working with CVS and branches, I know we
> can create a branch to help us reduce the instability. As a result,
> we are doing something like the following:
> cvs co module
> cd module
> cvs tag feature_branch_base
> cvs tag -b feature_branch
> Now, as mentioned, this feature will take some time complete, and will
> eventually depend on smaller changes/features which will continue to
> be found on the mainline. So we will want to merge the mainline
> changes into the branch from time to time, and perhaps from time to
> time (if things are stable), merging the branch back to the mainline.
> Of course, eventually we will want to merge everything back to
> the mainline when the feature is complete.
> [ details omitted ]
If you do that, you'll be using lots of tags ! Also, I'm not sure
your final merge from branch to trunk is correct. If I remember
correctly the solution is counterintuitive.
My usual recommendation is
1) Merge only from branch to trunk, never trunk to branch.
2) Keep your branches short.
3) When a branch lingers on for too long, start a new branch
at the tip of the trunk, merge the old branch into
the new branch and retire the old branch.
See http://groups.google.com/group/gnu.cvs.help/msg/71c6c07bdc16ceb5
(best viewed with a monospaced font).
--
pa at panix dot com
_______________________________________________
Info-cvs mailing list
[email protected]
http://lists.nongnu.org/mailman/listinfo/info-cvs