+++ /dev/null
-Changes should be committed to the CVS HEAD only when they are in a
-working state. The definition of "working" is somewhat liquid; a good
-guiding principle is that anyone checking out HEAD should receive a
-checkout of working software.
-
-When you want to work on changes that are likely to temporarily break
-large swathes of code, you should probably work on a private branch.
-Since CVS branching and merging is something of a black art, here are
-some simple step-by-step instructions for creating and using a branch.
-
-To create your private branch:
-
- # Get most up-to-date tree before branching
- cvs update
- # Create a branch called "my-branch"
- cvs tag -b my-branch
- # Switch working copy to the "my-branch" branch
- cvs update -r my-branch
-
-At this point you'll be on a branch called "my-branch". Any changes
-you make will not affect people working on HEAD, or on other branches.
-
-Use name for your branch that is both descriptive and unique.
-Starting the branch name with your SourceForge username
-(e.g. "mcb30-realmode-redesign") is a good idea.
-
-When you want to merge the changes on your branch back into HEAD, do
-the following:
-
- # Ensure there are no not-yet-checked-in modifications in your tree)
- cvs -q update
- # Tag the merge point in the "my-branch" branch
- cvs tag -c my-branch-merge-1
- # Switch working copy back to HEAD
- cvs update -A
- # Merge changes from the branch
- cvs update -j my-branch
- # Commit merged changes to HEAD
- cvs commit
-
-If you then want to continue working further on the "my-branch" branch,
-do the following
-
- # Switch working copy back to the "my-branch" branch
- cvs update -r my-branch
-
-and then when you want to merge some more changes back to HEAD:
-
- # Ensure there are no not-yet-checked-in modifications in your tree)
- cvs -q update
- # Tag the merge point in the "my-branch" branch
- cvs tag -c my-branch-merge-2
- # Switch working copy back to HEAD
- cvs update -A
- # Merge changes from the branch
- cvs update -j my-branch-merge-1 -j my-branch
- # Commit merged changes to HEAD
- cvs commit
-
-Note that the format of the "merge changes from the branch" command has
-changed, because this time you need to only merge changes since the last
-merge point.
-
-When you have finished with your branch and merged all the changes
-back to HEAD, simply stop using the branch.