Subversion

  •        4367

Subversion is an open source version control system. Founded in 2000 by CollabNet, Inc., the Subversion project and software have seen incredible success over the past decade. The open source community has used Subversion widely: for example in projects such as Apache Software Foundation, Free Pascal, FreeBSD, GCC, Django, Ruby, Mono, SourceForge, ExtJS, Tigris.org, PHP and MediaWiki. Google Code also provides Subversion hosting for their open source projects.

Its feature include

  • Most CVS features
  • Directories are versioned
  • Copying, deleting, and renaming are versioned
  • Atomic commits
  • Branching and tagging are cheap (constant time) operations
  • Merge tracking
  • File locking
  • Apache network server option, with WebDAV/DeltaV protocol
  • Symbolic links can be versioned
  • Standalone server option (svnserve)
  • Localized messages
  • Interactive conflict resolution
  • Repository read-only mirroring
  • Natively client/server, layered library design with clean APIs
  • Binary files handled efficiently
  • Bindings to programming languages such as such as Python, Perl, Java, and Ruby
  • Changelists

http://subversion.apache.org/

Tags
Implementation
License
Platform

   




Related Projects

Mercurial

  •    Python

Mercurial is fast and powerful. Mercurial offers you the power and speed to efficiently handle projects of any size and kind. Every clone contains the whole project history, so committing, branching, tagging and merging are local operations which makes them fast and convenient. You can use a multitude of workflows and easily enhance its functionality with extensions.

RHodeCode - Centralized control for distributed repositories

  •    Python

RhodeCode is an open source repository management platform. It provides unified security and team collaboration across Git, Subversion, and Mercurial. Pick the repository type depending on your project, not on your code management tool. Read and write in all repository types from one central point, and see commits, forks, and changeset merges at a glance. Its features include Intuitive System Management, Full text search, Access Management, Change log etc.

CVS

  •    C

CVS is a version control system, an important component of Source Configuration Management (SCM). Using it, you can record the history of sources files, and documents. CVS is a production quality system in wide use around the world, including many free software projects.

Darcs - Distributed Revision Control in Haskell

  •    Haskell

Darcs is a distributed advanced revision control system written in Haskell. It is similar to Git, Mercurial and Bazaar. User will have own personnel repository and commits his changes to it. Later the changes are pushed to the centralized repository. Every repository is a branch and it provides support to integrate the changes between them. It provides support to send the changes by email.

Git

  •    C

Git is a free & open source, distributed version control system designed to handle everything from small to very large projects with speed and efficiency.


OpenCVS

  •    C

OpenCVS is a FREE implementation of the Concurrent Versions System, the most popular open source revision control software. It can be used as both client and server for repositories and provides granular access control over data stored in the repository. It aims to be as compatible as possible with other CVS implementations, except when particular features reduce the overall security of the system.

Ankhsvn

  •    CSharp

AnkhSVN is a Subversion Source Control Provider for Microsoft Visual Studio 2005, 2008 and 2010. AnkhSVN provides source code management support to all project types supported by Visual Studio and allows you to perform the most common version control operations directly from inside the Microsoft Visual Studio IDE.

Monotone

  •    C++

Monotone is a free distributed version control system. It provides a simple, single-file transactional version store, with fully disconnected operation and an efficient peer-to-peer synchronization protocol. It understands history-sensitive merging, lightweight branches, integrated code review and 3rd party testing. It uses cryptographic version naming and client-side RSA certificates.

Trac - Integrated SCM and Project Management

  •    Python

Trac is a lightweight project management tool that is implemented as a web-based application. It has an enhanced wiki and issue tracking system for software development projects. Trac will impose as little as possible on a team's established development process and policies.

ViewVC - browser interface for CVS and Subversion

  •    Python

ViewVC is a browser interface for CVS and Subversion version control repositories. It generates templatized HTML to present navigable directory, revision, and change log listings. It can display specific versions of files as well as diffs between those versions.

Fossil

  •    C

Fossil is a distributed version control like Git and Mercurial. Fossil also supports distributed bug tracking and distributed wiki all in a single integrated package. It is simple, high-reliability, distributed software configuration management.

Gitlab - The platform for modern developers

  •    Ruby

GitLab Community Edition (CE) is open source software to collaborate on code. Create projects and repositories, manage access and do code reviews. Each project has a wiki backed up by a separate git repository. Use the ticketing system included in GitLab or integrate your existing system and lot more.

vim-signify - :heavy_plus_sign: Show a diff using Vim its sign column.

  •    Vim

Signify (or just Sy) uses the sign column to indicate added, modified and removed lines in a file that is managed by a version control system (VCS). If git is the only version control system you use, I suggest having a look at vim-gitgutter.

WebSVN - Online subversion repository browser

  •    PHP

WebSVN provides web interface to view Subversion repository. It helps to view file or directory and see a list of all the files changed, added or deleted in any given revision. It provides support to view the differences between two versions of a file.

TortoiseHg - Client for Mercurial Revision Control

  •    Python

TortoiseHg is a Windows shell extension and a series of applications for the Mercurial distributed revision control system. It also includes a Gnome/Nautilus extension and a CLI wrapper application so the TortoiseHg tools can be used on non-Windows platforms.

Flooda

  •    Perl

Flooda is a free SCM/VC (Software Configuration Management / Version Control) tool. Its source code size is less than 4000 lines, only 1 percent of SVN (Subversion) 's. But some of its features such as task/activity are more powerful than ClearCase UCM.

Meld - Visual Diff and Merge Tool

  •    Python

Meld is a gnome2 diff and merge tool with pluggable support for version control systems such as cvs, subversion, bzr, darcs, mercurial, monotone, tla. Meld helps you review code changes and understand patches.

Phabricator - A powerful software development platform

  •    PHP

Phabricator is a collection of web applications which help software companies build better software. It provides support to Manage projects, Manage team members, Track bugs, Code review, Host and browse Git, Mercurial, and Subversion repositories and Audit Source Code.

Kallithea - Powerful management tool for Mercurial and Git

  •    Python

Kallithea provides source code management system that supports two leading version control systems, Mercurial and Git, and has a web interface that is easy to use for users and admins. It provides powerful access management system lets you decide who has access to the repository, and what operations they’re entitled to do. All requests are authenticated and logged, giving the administrator an ability to review users’ activity. It has builtin support push/pull server, full text search and code-review.

python-versioneer - version-string management for VCS-controlled trees

  •    Python

This is a tool for managing a recorded version number in distutils-based python projects. The goal is to remove the tedious and error-prone "update the embedded version string" step from your release process. Making a new release should be as easy as recording a new tag in your version-control system, and maybe making new tarballs. For released software, the version identifier is closely related to a VCS tag. Some projects use tag names that include more than just the version string (e.g. "myproject-1.2" instead of just "1.2"), in which case the tool needs to strip the tag prefix to extract the version identifier. For unreleased software (between tags), the version identifier should provide enough information to help developers recreate the same tree, while also giving them an idea of roughly how old the tree is (after version 1.2, before version 1.3). Many VCS systems can report a description that captures this, for example git describe --tags --dirty --always reports things like "0.7-1-g574ab98-dirty" to indicate that the checkout is one revision past the 0.7 tag, has a unique revision id of "574ab98", and is "dirty" (it has uncommitted changes.