To bring all your files up to the
$ cvs commit -r 3.0
Note that it is generally a bad idea to try to make the
tag and rtag
commands you can give symbolic names to the releases
instead. See tag and See rtag.
Note that the number you specify with `-r' must be larger than any existing revision number. That is, if revision 3.0 exists, you cannot `cvs commit -r 1.3'.
rtag or tag commands (see tag
or see rtag). Then, either checkout or
update can be used to base your sources on the
newly created branch. From that point on, all
commit changes made within these working sources
will be automatically added to a branch revision,
thereby not disturbing main-line development in any
way. For example, if you had to create a patch to the
1.2 version of the product, even though the 2.0 version
is already under development, you might do:
$ cvs rtag -b -r FCS1_2 FCS1_2_Patch product_module
$ cvs checkout -r FCS1_2_Patch product_module
$ cd product_module
[[ hack away ]]
$ cvs commit
This works automatically since the `-r' option is
sticky.
[[ hacked sources are present ]]
$ cvs tag -b EXPR1
$ cvs update -r EXPR1
$ cvs commit
The update command will make the `-r
EXPR1' option sticky on all files. Note that your
changes to the files will never be removed by the
update command. The commit will
automatically commit to the correct branch, because the
`-r' is sticky. You could also do like this:
[[ hacked sources are present ]]
$ cvs tag -b EXPR1
$ cvs commit -r EXPR1
but then, only those files that were changed by you
will have the `-r EXPR1' sticky flag. If you hack
away, and commit without specifying the `-r EXPR1'
flag, some files may accidentally end up on the main
trunk.
To work with you on the experimental change, others would simply do
$ cvs checkout -r EXPR1 whatever_module