For years, the Concurrent Versions System (CVS) has been the de facto standard for revision control on Linux systems. Built on RCS but allowing for multiuser collaboration, CVS is a powerful way of keeping track of the revision history for any given file. It's useful for programmers, Web designers, and system administrators.
However, CVS is beginning to show its age, and similar source code management software is available. However, most of these packages are commercial.
Subversion is a relative newcomer to the source code management scene. Despite the fact that it's in active development, Subversion is a very stable and mature product. It's a completely new system that seeks to be as powerful as CVS but far more intuitive and easy to use.
You can access Subversion repositories in a number of ways: via local files, the svn protocol, and Apache2 and WebDAV. We recommend using Apache2 and WebDAV for installations where multiple users will be accessing and modifying data.
To create a Subversion repository, use svnadmin, as shown below:$ svnadmin /usr/local/subversion
You can then import files into Subversion, just as you would with CVS, by using the following:$ svn import -m "log msg" /home/user/import file:///usr/local/subversion
This imports the files found in the directory /home/user/import into the Subversion repository you initially created. If you already have projects in CVS, you can download a development script called cvs2svn.py from the Subversion home page to import them into Subversion and retain their history.