Not finished yet. Work in progress. Some parts of this article was written 2 years ago, and will updated in near future
Emacs, as programming tool can work with different version control systems. There are two approaches for work with these systems within Emacs. The first approach — via common interface, provided by VC and DVC modules, that supports different systems. The second approach — by using modules written for concrete version control systems.
The main advantage of first approach — it allow to work with different systems, through uniform set of operations, and usage of different systems depends on package configuration. But when using uniform set of operations, user has no access to system-specific commands, so it can lose some functionality.
Usage of packages, that implements systems-specific support, allow user to use all functionality of concrete system. The main drawback of this approach is that packages provide non-uniform set of operations, functions and key bindings.
In this article, we'll examine both approaches. In first part of article, I'll describe the VC and DVC packages, that implement the first approach, and in next sections I'll describe the systems-specific packages, that implements the second approach.
There are many version control systems in computer world. Almost full list of these systems you can find at Google catalogs. Besides this, you can find some articles about version control systems at http://better-scm.berlios.de/comparison/, http://wiki.gnuarch.org/moin.cgi/SubVersionAndCvsComparison and http://www.a-a-p.org/tools_version.html.
Last change: 05.03.2013 16:54