Apache Subversion: Difference between revisions

Content deleted Content added
No edit summary
Tags: Reverted references removed Visual edit Mobile edit Mobile web edit
m Reverted edits by 2001:44C8:4408:F72C:1:1:ADB8:A668 (talk): unexplained content removal (HG) (3.4.12)
Line 1:
{{Short description|Free and open-source software versioning and revision control system}}
'''Apache Subversion''' (often abbreviated '''SVN''', after its command name ''svn'') is a software versioning and revision control system distributed as open source under the Apache License. Software developers use Subversion to maintain current and historical versions of files such as source code, web pages, and documentation. Its goal is to be a mostly compatible successor to the widely used Concurrent Versions System (CVS).
{{Lead too short|date=October 2022}}
{{Infobox software
| name = Subversion
| title = Apache Subversion
| logo = Apache Subversion logo.svg
| author = [[CollabNet]]
| developer = [[Apache Software Foundation]]
| released = {{Start date and age|2000|10|20|df=yes}}
| ver layout = stacked
| programming language = [[C (programming language)|C]]
| operating system = {{hlist|[[Centos]]|[[Debian]]|[[Fedora (operating system)|Fedora]]|[[FreeBSD]]|[[HP-UX]]|[[NetBSD]]|[[OpenBSD]]|[[openSUSE]]|[[OpenVMS]]|[[macOS]]|[[Red Hat Linux]]|[[Solaris (operating system)|Solaris]]|[[SUSE Linux]]|[[Ubuntu]]|[[Windows]]}}
| genre = [[Revision control]]
| license = [[Apache License|Apache-2.0]]{{efn|Apache-2.0 since 2009-07-07.}}
}}
 
'''Apache Subversion''' (often abbreviated '''SVN''', after its command name ''svn'') is a [[software versioning]] and [[revision control]] system distributed as [[Open-source software|open source]] under the [[Apache License]].<ref>{{cite web |year=2013 |title=Subversion |url=http://directory.fsf.org/wiki/Subversion#tab=Details |url-status=live |access-date=11 September 2013 |website=directory.fsf.org |publisher=[[Free Software Directory]] |language=en-US}}</ref> Software developers use Subversion to maintain current and historical versions of files such 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 widely: for example, in projects such as Apache Software Foundation, FreeBSD, SourceForge, and from 2006 to 2019, GCC. CodePlex was previously a common host for Subversion repositories.
 
The [[Open-source software|open source]] community has used Subversion widely: for example, in projects such as [[Apache Software Foundation]], [[FreeBSD]], [[SourceForge]], and from 2006 to 2019, [[GNU Compiler Collection|GCC]]. [[CodePlex]] was previously a common host for Subversion repositories.
Subversion was created by CollabNet Inc. in 2000, and is now a top-level Apache project being built and used by a global community of contributors.
 
Subversion was created by [[CollabNet]] Inc. in 2000, and is now a top-level Apache project being built and used by a global community of contributors.<ref>{{Cite press release |date=2020-02-27 |title=The Apache Software Foundation Announces 20th Anniversary of Apache® Subversion® |url=https://www.globenewswire.com/news-release/2020/02/27/1991695/17401/en/The-Apache-Software-Foundation-Announces-20th-Anniversary-of-Apache-Subversion.html |access-date=2023-01-29 |website=GlobeNewswire News Room |language=en}}</ref>
 
==History==
Line 180 ⟶ 196:
 
==Filesystem==
[[File:Svn 3D-tree.svg|right|thumb]]
One can view the Subversion filesystem as "two-dimensional".<ref>[http://svnbook.red-bean.com/nightly/en/svn.branchmerge.basicmerging.html#svn.branchmerge.basicmerging.resurrect Basic Merging<!-- Bot generated title -->]</ref> Two coordinates are used to unambiguously address filesystem items:
* '''Path''' (regular [[Path (computing)|path]] of [[Unix-like]] OS filesystem)
* '''Revision'''
Each revision in a Subversion filesystem has its own ''[[root directory|root]]'', which is used to access contents at that revision. Files are stored as links to the most recent change; thus a Subversion repository is quite compact. The system consumes storage space proportional to the number of changes made, not to the number of revisions.
 
The Subversion filesystem uses transactions to keep changes [[Atomicity (database systems)|atomic]]. A transaction operates on a specified revision of the filesystem, not necessarily the latest. The transaction has its own ''root'', on which changes are made. It is then either committed and becomes the latest revision, or is aborted. The transaction is actually a long-lived filesystem object; a client does not need to commit or abort a transaction itself, rather it can also begin a transaction, exit, and then can re-open the transaction and continue using it. Potentially, multiple clients can access the same transaction and work together on an atomic change, though no existing clients expose this capability.
 
==Properties==