- This article is about the computer software framework. See rebellion, sabotage and insurgency for information on the undermining of authority.
Subversion (also known as svn) is a version control system designed specifically to replace CVS, which is considered to have many deficiencies. Version 1.0 of Subversion (released 23 February, 2004) offers the following features:
- Most current CVS features
- Directories, renames, and file metadata are versioned
- Commits are truly atomic
- Apache HTTP server as network server, WebDAV/DeltaV for protocol (there is also an independent server process that uses a custom protocol over TCP/IP)
- Branching and tagging are cheap (constant time) operations
- Natively client/server, layered library design
- Client/server protocol sends diffs in both directions
- Costs are proportional to change size, not data size
- Efficient handling of binary files
- Parsable output (including XML log output)
- Open Source licensed — "CollabNet/Tigris.org Apache-style license"
Subversion has an IRC channel on irc.freenode.net (#svn).
Other Projects of note
The Open Source Trac project integrates Subversion, an Issue Tracker, and Wiki functionality into one web based interface.
The Open Source Subclipse project integrates Subversion into Eclipse.
The Open Source SVK project is a decentralized version control system written in Perl, permitting offline operations and advanced merging algorithms. It layers on the Subversion filesystem and its API.