Subversion is an open source version control system. It allows users to keep track of changes made over time to any type of electronic data; typical uses are versioning source code, web pages or design documents.
The project was initiated in 2000 by CollabNet Inc.
The company is still involved with Subversion but the project is run as an independent open source community.
The home of Subversion is on Tigris.org , an open source community dedicated to software engineering tools.
According to CIA.vc (an open source reporting web site), Subversion has surpassed CVS in open source projects.
Subversion is composed internally of several libraries arranged as layers . It basically consists of 5 layers :-
The lowest level; it implements the versioned filesystem which stores the
Concerned with the repository built up around the filesystem.
Handles various ‘hooks’.
Provides WebDAV /DeltaV access through Apache 2.
LAYERS Contd. Ra Handles "repository access", both local and remote. Repositories are referred to using URLs, i.e. file:///path/ for local access, http://host/path/ (or https) for WebDAV access svn://host/path/ (or svn+ssh) for the SVN protocol. Client, Wc The highest level. It abstracts repository access It provides common client tasks, e.g authenticating the user, or comparing versions. The Wc library is used by Client to manage the local working copy.
Lacks proper repository administration and management tools.
Subversion does not have tools which allow permanent changes. The current solution to this sort of problem involves 'dumping' the repository, editing the resulting (possibly large) text file, and then recreating the repository