GNU Emacs Manual. Node: Branches

PREVSecondary VC Commands UPVersion Control NEXTSnapshots

12.7.6: Multiple Branches of a File

One use of version control is to maintain multiple ``current'' versions of a file. For example, you might have different versions of a program in which you are gradually adding various unfinished new features. Each such independent line of development is called a branch. VC allows you to create branches, switch between different branches, and merge changes from one branch to another. Please note, however, that branches are only supported for RCS at the moment.

A file's main line of development is usually called the trunk. The versions on the trunk are normally numbered 1.1, 1.2, 1.3, etc. At any such version, you can start an independent branch. A branch starting at version 1.2 would have version number 1.2.1.1, and consecutive versions on this branch would have numbers 1.2.1.2, 1.2.1.3, 1.2.1.4, and so on. If there is a second branch also starting at version 1.2, it would consist of versions 1.2.2.1, 1.2.2.2, 1.2.2.3, etc.

If you omit the final component of a version number, that is called a branch number. It refers to the highest existing version on that branch---the head version of that branch. The branches in the example above have branch numbers 1.2.1 and 1.2.2.

  • Switching Branches How to get to another existing branch.
  • Creating Branches How to start a new branch.
  • Merging Transferring changes between branches.
  • Multi-User Branching Multiple users working at multiple branches in parallel.
  • PREVSecondary VC Commands UPVersion Control NEXTSnapshots