Subversion is a version control system that keeps track of changes made to files and folders (directories), facilitating data recovery and providing a history of the changes that have been made over time. Subversion was designed to replace Concurrent Versions System (CVS), an established program for saving and retrieving multiple versions of source code.
Here are the key features of Subversion:
- Versioning is done for folders as well as for individual files.
- There is a provision for adding, deleting, copying and renaming files and folders.
- File and folder properties are recorded over time, thereby creating a detailed history.
- Developers can create and commit changes as atomic, self-contained units.
- It is easy to implement new network functions.
- Text and binary files are stored and handled in a consistent manner.
- Branches and tags are created efficiently and quickly.
- Subversion is easy to use with other software and programming languages.
Karl Fogel and Ben Collins-Sussman designed Subversion as free and open source software (FOSS). The developers' intent was to resolve inherent bugs and feature flaws in CVS and provide a better interface. Fogel and Collins-Sussman started to develop Subversion in 2000. The open source community has collaborated on the project since that time.