# Version Control Systems

Source-Navigator provides a graphical user interface to several external version control systems. Source-Navigator allows you to manage version control tasks on a project level. With version control you can organize your development to manage versions, version history, labels, and related documents.

Version control systems use locks to prevent the same files from being modified by two developers simultaneously. If a lock is used while revising a file, no one can modify the file until it is unlocked. Locking and unlocking can be controlled by checking in or checking out versions.

For more information, see the "Integrating with Version Control Systems" chapter of the Source-Navigator Programmer's Reference Guide.

## Using Version Control

The following version control systems have been integrated with Source-Navigator: GNU Revision Control System (RCS), Concurrent Versions System (CVS), and the Source Code Control System (SCCS). It has also been integrated with Rational's ClearCase version 3; other versions may also work, although these have not been tested. When creating a project, you must specify the correct version control system being used to manage the body of source code you wish to analyze. Make your selection in the Version Control tab of the Preferences dialog (see Version Control Preferences).

To start version control, choose Tools -> Revision Control -> Revision Control Editor (see Version Control Window).

#### Version Control Window

### Checking Out a File

Choose Tools -> Revision Control -> Check Out... to check out a file. Versions of a file can be checked out for modification either locked or unlocked. Checking out with With lock selected in the Check Out dialog box prevents other users from checking out the same version in write mode. A file that will be displayed, but not modified, may be checked out without lock.

#### Check Out Dialog

### Checking in a File

You can check in all or selected project files into your version control system. When you check in, you can enter descriptive text of the changes and a version number. Using the left-mouse button, select one or more files to check in. With these files highlighted, select Tools -> Revision Control -> Check In... . The Check In dialog is displayed.

#### Check In Dialog Box

If you check in with With lock selected in this dialog box, others may not use your version in write mode.

This is useful if you are continuously working on a particular file, but wish to register checkpoints in your work without giving other developers the opportunity to make modifications to that file.

### Discarding Changes to a File

Working files can be reverted to the repository version with Discard Changes .

### Show Differences

The Diff tool highlights differences between the current version of a file (the one you have checked out) and another one that you select from the list of available version numbers.

To access this tool select Tools -> Revision Control -> Compare Revisions... .

#### Showing Differences

## Version Control Preferences

Use the Version Control tab of the Preferences dialog to tell Source-Navigator what source code control system you're running. You can access this tab by selecting File -> Project -> Project Preferences... from the Symbol Browser, or Edit -> View Preferences... from the Version Control window.

#### Version Control Tab of the Preferences Dialog

Version control system
Select your external version control system for the project.

Ignored directories
These directories will be ignored by Source-Navigator as it scans for files to parse.