28.1.1.2 Supported Version Control Systems
VC currently works with many different version control systems,
which it refers to as back ends:
- SCCS was the first version control system ever built, and was long ago
superseded by more advanced ones. VC compensates for certain features
missing in SCCS (e.g., tag names for releases) by implementing them
itself. Other VC features, such as multiple branches, are simply
unavailable. Since SCCS is non-free, we recommend avoiding it.
- CSSC is a free replacement for SCCS. You should use CSSC only if, for
some reason, you cannot use a more recent and better-designed version
control system.
- RCS is the free version control system around which VC was initially
built. It is relatively primitive: it cannot be used over the
network, and works at the level of individual files. Almost
everything you can do with RCS can be done through VC.
- CVS is the free version control system that was, until recently (circa
2008), used by the majority of free software projects. Nowadays, it
is slowly being superseded by newer systems. CVS allows concurrent
multi-user development either locally or over the network. Unlike
newer systems, it lacks support for atomic commits and file
moving/renaming. VC supports all basic editing operations under CVS.
- Subversion (svn) is a free version control system designed to be
similar to CVS but without its problems (e.g., it supports atomic
commits of filesets, and versioning of directories, symbolic links,
meta-data, renames, copies, and deletes).
- GNU Arch is one of the earliest decentralized version control
systems (the other being Monotone). See VCS Concepts, for a
description of decentralized version control systems. It is no longer
under active development, and has been deprecated in favor of Bazaar.
- Git is a decentralized version control system originally invented by
Linus Torvalds to support development of Linux (his kernel). VC
supports many common Git operations, but others, such as repository
syncing, must be done from the command line.
- Mercurial (hg) is a decentralized version control system broadly
resembling Git. VC supports most Mercurial commands, with the
exception of repository sync operations.
- Bazaar (bzr) is a decentralized version control system that supports
both repository-based and decentralized versioning. VC supports most
basic editing operations under Bazaar.