## 12 Version Control System

GPS offers the possibility for multiple developers to work on the same project, through the integration of version control systems (VCS). Each project can be associated to a VCS, through the `VCS` tab in the Project properties editor. See The Project Properties Editor.

GPS does not come with any version control system: it uses underlying command-line systems such as Subversion or ClearCase to perform the low level operations, and provides a high level user interface on top of them. Be sure to have a properly installed version control system before enabling it under GPS.

The systems that are supported out of the box in GPS are:

Auto
  GPS can be setup to auto-detect the actual VCS to use for each project. This is done by selecting `Auto` in the `VCS` tab of the Project properties editor. See The Project Properties Editor. This is also the default behavior when no VCS is specified in the project.
ClearCase
  The standard ClearCase interface, which is built-in and uses a generic GPS terminology for VCS operations.

  Note that, at the moment, only Snapshot Views are supported in the ClearCase integration; Dynamic Views are not supported.

ClearCase Native
  Which is fully customizable and uses by default the terminology specific to ClearCase.

  Note that, at the moment, only Snapshot Views are supported in the ClearCase integration; Dynamic Views are not supported.

CVS
  The Concurrent Version System.

  GPS needs a corresponding `patch` command that usually comes with it.

Git
  Distributed fast source code management. Support for Git on GPS is partial. Basic commands are supported but the full power of Git (like working with the index) is only available on the command line.

  GPS needs a corresponding `diff` command that usually comes with it.

Subversion
  The Subversion version control system. Note that on Windows this version is intended to be used with Cygwin/Subversion and fully supports the Cygwin path names.

  GPS needs a corresponding `patch` and `diff` command that usually comes with it.

Subversion Windows
  The Windows native Subversion version control system. The external Subversion commands are expected to be built for the Win32 subsystem. This version does not support Cygwin path names.

  GPS needs a corresponding `patch` and `diff` command that usually comes with it.

The default VCS that GPS will use is "Auto" by default, and this can be configured through The Preferences Dialog.

It is also possible to add your own support for other version control systems, or modify one of the existing interfaces, see Adding support for new Version Control Systems for more information.

It is recommended that you first get familiar with the version control system that you intend to use in GPS first, since many concepts used in GPS assume basic knowledge of the underlying system.

Associating a VCS to a project enables the use of basic VCS features on the source files contained in the project. Those basic features typically include the checking in and out of files, the querying of file status, file revision history, comparison between various revisions, and so on.

Note: the set-up must make sure that the VCS commands can be launched without entering a password.