Subversion (software)

From Free net encyclopedia

{{Infobox Software | name = Subversion | logo = | screenshot = | caption = | developer = | latest_release_version = 1.3.1 | latest_release_date = April 3 2006 | latest_preview_version = | latest_preview_date = | operating_system = Linux, Windows, Mac OS X | platform = | genre = revision control | license = Apache/BSD Style | website = Subversion Home }}

Subversion is an open source system for revision control, sometimes known as svn from the name of its command line interface. Subversion is designed specifically to be a modern replacement for CVS and shares a number of the same key developers.

Contents

Improvements over CVS

Subversion was created as a replacement for CVS. Its improvements include:

  • Atomic commits. Interrupted commit operations do not cause repository inconsistency or corruption.
  • Renamed/copied/(re)moved files retain full revision history.
  • Native support for binary files, with space-efficient binary-diff storage.
  • Directories are versioned. Entire directory trees can be moved around and/or copied very quickly, and retain full revision history.
  • Constant time branching and tagging.
  • Optimized repository accesses. This reduces unnecessary network traffic to the repository host.

Features

Version 1.3 (released 1 January, 2006):

  • Path-based authorization for svnserve
  • Improved logging and repository listing in mod_dav_svn
  • Hugely improved Python and Ruby bindings
  • A handful of new command line switches
  • Some client and server performance improvements
  • Many improved APIs
  • More than 30 new bugfixes

Version 1.2 (released May 2005):

  • File locking for unmergeable files ("reserved checkouts")
  • Full WebDAV auto-versioning

Version 1.1 added these features among others:

Version 1.0 of Subversion (released 23 February, 2004) offers the following features:

Repository access

As of version 1.3, Subversion repositories can be accessed by the following means:

  • Local filesystem (FSFS and Berkeley DB) or network filesystem (FSFS only), accessed by client directly.
  • WebDAV/DeltaV (over http or https) using the mod_dav_svn module for Apache 2.
  • Custom "svn" protocol, either plaintext or over SSH.

Related Software

GUI front-ends/clients

Other projects of note

  • A list of revision control software
  • The open source Trac project integrates Subversion, an issue tracker, and Wiki functionality into one web-based interface.
  • The open source Subclipse project integrates Subversion into Eclipse.
  • The open source SVK project is a decentralized version control system written in Perl, permitting offline operations and advanced merging algorithms. It layers on the Subversion filesystem and its API.
  • The open source JavaSVN project is a 100% pure Java Subversion client library.
  • SVN Importer is a free tool for importing content from other version control systems to a Subversion (SVN) repository
  • CIA is a piece of software that notifies people of repository activity. It is named after the CIA because its role is to "keep an eye on subversion".
  • The open source Subversive plugin for Eclipse. It provides access to Subversion from Eclipse.

References

  • C. Michael Pilato, Ben Collins-Sussman, Brian W. Fitzpatrick; Version Control with Subversion; O'Reilly; ISBN 0596004486 (1st edition, paperback, 2004, full book online at http://svnbook.red-bean.com/)
  • Garrett Rooney; Practical Subversion; Apress; ISBN 1590592905 (1st edition, paperback, 2005)
  • Mike Mason; Pragmatic Version Control Using Subversion; Pragmatic Bookshelf; ISBN 0974514063 (1st edition, paperback, 2005)

External links

Template:Portalpar

de:Subversion (Software) es:Subversion fr:Subversion (logiciel) ko:Subversion lt:Subversion ja:Subversion pl:Subversion pt:Subversion ru:Subversion sk:Subversion zh:Subversion