Open source softwares - Apache SVN(Sub Version)

Back to Course

Lesson Description

Lession - #1550 SVN Home

Apache Subversion( frequently abbreviated SVN, after its command name svn>
is a software versioning and modification control system distributed as open source under the Apache License.( 2>
Software inventors use Subversion to maintain current and historical versions of files similar as source code, web pages, and documentation. Its goal is to be a mostly compatible successor to the widely used Concurrent Versions System( CVS>
. The open source community has used Subversion extensively for illustration, in systems similar as Apache Software Foundation, Free Pascal, FreeBSD, SourceForge, and from 2006 to 2019, GCC. CodePlex was previously a common host for Subversion depositories.   #### Features 1. Commits as true atomic operations( interrupted commit operations in CVS would cause repository inconsistency or corruption>
.    2. Renamed copied/ moved/ removed files retain full revision history.    3. The system maintains versioning for directories, renames, and file metadata( but not for timestamps>
. Users can move and/ or copy entire directory- trees very quickly, while retaining full revision history.    4. Versioning of symbolic links.    5. Native support for binary files, with space-efficient binary- diff storage.    6. Apache HTTP Server as network server, WebDAV/ Delta- V for protocol. There's also an independent server process called svnserve that uses a custom protocol over TCP/ IP.    7. Branching is a cheap operation( to whom?>
( clarification needed>
, independent of file size( though Subversion itself doesn't distinguish between a branch and a directory>
.    8. Natively client – server, layered library design.    9. Client/ server protocol sends diffs in both directions.    10. Costs proportional to change size, not to data size.    11. Parsable output, including XML log output.    12. Open source licensed – Apache License since the1.7 release; previous versions use a outgrowth of the Apache Software License1.1.    13. Internationalized program messages.    14. File locking for unmergeable files(" reserved checkouts">
.    15. Path- based authorization.    16. Language bindings forC#, PHP, Python, Perl, Ruby, and Java.    17. Full MIME support – users can view or change the MIME type of each file, with the software knowing which MIME types can have their differences from previous versions shown.    18. Merge tracking – Merges between branches will be tracked, this allows automatic merging between branches without telling Subversion what does and doesn't need to be merged.    19. Changelists to organize commits into commit groups.   ```plaintext ```