SVN expandable to Apache Subversion is an open-source software versioning and revision control system. It is distributed as a free software under the Apache license. The subversion project was founded in the year 2000 by CollabNet.Inc and is today widely being used by both individuals and the corporate world.
Being part of the Apache foundation project, SVN too enjoys the support and contributions from the vast community of Apache developers and users. Apache subversion is an improved successor to the widely used Concurrent Versions systems (CVS) and has adopted many of its features.
• CVS offered only versioning of individual files while SVN improves upon it by tracking of the history of the entire directories too.
• CVS was limited to file versioning and did not include copies, deletions and renames which may or may not have carried some changes. SVN versions all the files that are copied, deleted or renamed.
• Atomic commits either are completely stored or not stored at all. This lets the developers to store only the changed version as logical chunks and eliminates chances of issues rising.
• All the files and directories have their own set of features and properties (keys and values). SVN allows the users to create and store any of the keys and stores they wish which are then versioned.
• SVN creates tags and branches by copying the project quickly without consuming much time. It also does not eat away much of resources.
• SVN differentiates and stores both text (readable) and binary (unreadable) files. Both are compressed in the repository and transmitted in both directions across a network
• SVN API’s are binding on almost all programming languages like Python, Java, Perl and Ruby.
SVN is a collection of modular libraries written in the C programming language. The latest release is the SVN 1.9 version.