Penguin
Note: You are viewing an old revision of this page. View the current version.

SubVersion is a modern VersionControlSystem that aims to replace CVS. Of the numerous CVS replacements, SubVersion is quite possibly the most similar to CVS in CommandLine interface and has a stable support community, making it a good choice if you wish to move away from CVS.

It lifts the limitations of CVS by versioning MetaData and dealing with commits as a unit, called a change set. How does this help?

  • Versioning MetaData along with the files allows for moving and renaming files within the repository without dissociating them from their history.
  • Change sets guarantee that the repository will always be in a defined and consistent state. They also allow rolling back large commits as a whole, and are the foundation for SubVersion's vastly improved branch and tag handling.

The CommandLine client, analogous to cvs(1) and with very similar use for the most part, is called svn. svn help provides a list of all commands and global options. svn help command provides help about the specific command. Unfortunately, there is no ManPage to speak of.

Detailed information is available in Version Control with Subversion, a book available online freely but also soon to be published by O'Reilly.


Notes

  • To flag a file as executable use svn propset svn:executable on filename