mirror of
https://github.com/xcat2/xNBA.git
synced 2024-12-14 15:21:32 +00:00
66 lines
2.3 KiB
Plaintext
66 lines
2.3 KiB
Plaintext
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.
|