set up a release number
$ cvs tag release_1_0 cvs tag: Tagging . T file cvs tag: Tagging dir1 T dir1/file1 cvs tag: Tagging dir2 T dir2/file1 T dir2/file2
beginning next one milestone
$ cvs commit -r 2 Log message unchanged or not specified a)bort, c)ontinue, e)dit, !)reuse this message unchanged for remaining dirs Action: (continue) c CVS: ---------------------------------------------------------------------- CVS: Enter Log. Lines beginning with `CVS:' are removed automatically CVS: CVS: Committing in . CVS: CVS: Modified Files: CVS: Tag: 2 CVS: file dir1/file1 dir2/file1 dir2/file2 CVS: ---------------------------------------------------------------------- /home/cvsroot/project_name/file,v <-- file new revision: 2.1; previous revision: 1.4 /home/cvsroot/project_name/dir1/file1,v <-- dir1/file1 new revision: 2.1; previous revision: 1.1 /home/cvsroot/project_name/dir2/file1,v <-- dir2/file1 new revision: 2.1; previous revision: 1.1 /home/cvsroot/project_name/dir2/file2,v <-- dir2/file2 new revision: 2.1; previous revision: 1.1
other user
$ cvs up cvs update: Updating . P file cvs update: Updating dir1 U dir1/file1 cvs update: Updating dir2 U dir2/file1 U dir2/file2 $ cvs st file =================================================================== File: file Status: Up-to-date Working revision: 2.1 Repository revision: 2.1 /home/cvsroot/project_name/file,v Commit Identifier: SuZpTC1gCRrH2Qrt Sticky Tag: (none) Sticky Date: (none) Sticky Options: (none)
create a branch release_1_0_patch from release_1_0 by cvs admin
$ cvs rtag -b -r release_1_0 release_1_0_patch project_name cvs rtag: Tagging project_name cvs rtag: Tagging project_name/dir1 cvs rtag: Tagging project_name/dir2
checkout release_1_0_patch by other user
$ cvs checkout -r release_1_0_patch project_name cvs checkout: Updating project_name U project_name/file cvs checkout: Updating project_name/dir1 U project_name/dir1/file1 cvs checkout: Updating project_name/dir2 U project_name/dir2/file1 U project_name/dir2/file2
show the status, and you can see 'Sticky Tag' is 'release_1_0_patch'
$ cvs st file =================================================================== File: file Status: Up-to-date Working revision: 1.4 Repository revision: 1.4 /home/cvsroot/project_name/file,v Commit Identifier: V0iuptfP43iETPrt Sticky Tag: release_1_0_patch (branch: 1.4.2) Sticky Date: (none) Sticky Options: (none)