Apache Subversion (cunoscut în trecut sub numele de Subversion[2]) este un sistem de revision control fondat și sponsorizat în anul 2000 de firma ColabNet Inc. Este folosit pentru menținerea versiunilor curente și istorice ale fișierelor cod sursă, paginilor web și a documentației în proiectele software. A fost creat ca un înlocuitor modern al sistemului Concurrent Versions System (CVS).
Subversion este folosit pe larg și în dezvoltarea de software proprietar. Conform unui raport din 2007 al organizației Forrester Research, Subversion este leaderul absolut al categoriei Standalone Software Configuration Management (SCM) și unul leaderii categoriei Software Configuration și Change Management (SCCM).[3]
Proiectul a început în anul 2000 cu scopul de a produce un sistem similar cu CVS, care să rezolve o serie de probleme ale acestuia și să adauge facilități noi. Din 2001 Subversion avansase suficient pentru ca toată dezvoltarea să înceapă să-l folosească pe post de revision control.[4] Subversion a devenit unul din proiectele principale ale organizației Apache Fundation în 17 februarie 2010.[5][6]
Facilități
Operațiile commit sunt atomice.
Fișierele șterse/redenumite/mutate își păstrează istoria.
Versioning pentru directoare.
Versioning pentru symbolic links.
Suport nativ pentru fișiere binare, bazat pe stocarea diferențelor.
Pe post de network server este folosit Apache HTTP Server, WebDAV/Delta-V este folosit pe post de protocol. Definește de asemenea și un protocol propriu construit în stiva TCP/IP folosit cu ajutorul serverului svnserve. Protocolul transmite întotdeauna numai diferențele, minimizând traficul de rețea.
Operațiile de branching și tagging sunt optimizate să consume foarte puțină memorie.
Design client-server, o bibliotecă este disponibilă pentru dezvoltarea clienților, language bindings pentru C#, PHP, Python, Perl, și Java.
Bază de date FSFS (foarte rapidă pe directoare cu multe fișiere[7]) sau Berkeley DB.
Mike Mason; Pragmatic Version Control Using Subversion; Pragmatic Bookshelf; ISBN 0-9745140-6-3 (1st edition, paperback, 2005)
William Nagel; Subversion Version Control: Using the Subversion Version Control System in Development Projects; Prentice Hall; ISBN 0-13-185518-2 (1st edition, paperback, 2005)