Wednesday, January 10, 2007

Branching In CVS

I tried to do a branch the way I think is should work and failed.

Steps tried.

  • File with modification that I don't want on the trunk
  • using TortoiseCVS tried to create a branch
  • failed
The branch doesn't seem to be related to the file but to the tag.

I would guess at this point that I need to create a tag to be used for the branch I want to build and than check in the files using that tag.

Found a CVS Branch and Tag Primer and that is where the following notes come from.

Tags can be used to specify a place to create a branch.

The trunk of the CVS repository is named by only the module name.

Check out a trunk module by:

cvs checkout module

Can check in from the main trunk by the following command:

cvs commit

Branches are add to allow different development paths.

To create a branch you must first create a tag:

cvs tag

or

cvs rtag

To create a branch at the last revision:

cvs rtag -b Branchname my_Module

To create a branch from a tagged revision of the module:

cvs rtag -t Tagname -b Branchname my_Module

What is a branch?

Are all the files in the branch?

Is the branch file by file or for the entire module?

I think I need to do this before I make any changes.

The rtag effects a specified place. By default this is the end of main trunk.

The tag effects at the place where the working directory was check out or last committed.

The branch name refers to the latest revision of the branch.

Can I check stuff in with a tag and than turn those revisions into a branch?

This primer was good, but I still don't have enough to know what is going on with a branch.

No comments: