Chapter 14. Tracking third-party sources

Table of Contents

Importing for the first time
Updating with the import command
Reverting to the latest vendor release
How to handle binary files with cvs import
How to handle keyword substitution with cvs import
Multiple vendor branches

If you modify a program to better fit your site, you probably want to include your modifications when the next release of the program arrives. cvsnt can help you with this task.

In the terminology used in cvsnt, the supplier of the program is called a vendor. The unmodified distribution from the vendor is checked in on its own branch, the vendor branch. cvsnt reserves branch 1.1.1 for this use.

When you modify the source and commit it, your revision will end up on the main trunk. When a new release is made by the vendor, you commit it on the vendor branch and copy the modifications onto the main trunk.

Use the import command to create and update the vendor branch. When you import a new file, the vendor branch is made the `head' revision, so anyone that checks out a copy of the file gets that revision. When a local modification is committed it is placed on the main trunk, and made the `head' revision.

Importing for the first time

Use the import command to check in the sources for the first time. When you use the import command to track third-party sources, the vendor tag and release tags are useful. The vendor tag is a symbolic name for the branch (which is always 1.1.1, unless you use the -b branch flag--see the section called “Multiple vendor branches”.). The release tags are symbolic names for a particular release, such as FSF_0_04.

Suppose you have the sources to a program called wdiff in a directory wdiff-0.04, and are going to make private modifications that you want to be able to use even when new releases are made in the future. You start by importing the source to your repository:

$ cd wdiff-0.04
$ cvs import -m "Import of FSF v. 0.04" fsf/wdiff FSF_DIST WDIFF_0_04

The vendor tag is named FSF_DIST in the above example, and the only release tag assigned is WDIFF_0_04.