Apache Subversion

Apache Subversion

About TrustRadius Scoring
Score 7.0 out of 100
Apache Subversion

Overview

Recent Reviews

SVN Apache-Report

8 out of 10
April 08, 2021
Used mainly as a collective tool for version tracking to ensure revisions are tracked by the dev team, and all maintain branches of our …
Continue reading

Git >>>>>>> Subversion

7 out of 10
January 19, 2015
Subversion used to be our main version control software before we started using GitHub. But after introduction of Git, we stopped using …
Continue reading
Read all reviews

Video Reviews

Leaving a video review helps other professionals like you evaluate products. Be the first one in your network to record a review of Apache Subversion, and make your voice heard!

Return to navigation

Pricing

View all pricing
N/A
Unavailable

What is Apache Subversion?

Apache Subversion is a version control option that is free to download and open source under the Apache 2.0 license.

Entry-level set up fee?

  • No setup fee

Offerings

  • Free Trial
  • Free/Freemium Version
  • Premium Consulting / Integration Services

Would you like us to let the vendor know that you want pricing?

3 people want pricing too

Alternatives Pricing

What is Bitbucket?

Bitbucket from Australian-headquartered Atlassian offers source code management and version control.

What is GitLab?

GitLab is a complete open-source DevOps platform, delivered as a single application, fundamentally changing the way Development, Security, and Ops teams collaborate and build software. From idea to production, GitLab helps teams improve cycle time from weeks to minutes, reduce development process…

Return to navigation

Features Scorecard

No scorecards have been submitted for this product yet..
Return to navigation

Product Details

What is Apache Subversion?

Apache Subversion is a version control option that is free to download and open source under the Apache 2.0 license.

Apache Subversion was designed to be a full featured and better version of CVS. Its features include:

  • Most CVS features - CVS is a relatively basic version control system. For the most part, Subversion has matched or exceeded CVS's feature set where those features continue to apply in Subversion's particular design.
  • Directories are versioned - Subversion versions directories as first-class objects, just like files.
  • Copying, deleting, and renaming are versioned - Copying and deleting are versioned operations. Renaming is also a versioned operation, albeit with some quirks.
  • Free-form versioned metadata ("properties") - Subversion allows arbitrary metadata ("properties") to be attached to any file or directory. These properties are key/value pairs, and are versioned just like the objects they are attached to. Subversion also provides a way to attach arbitrary key/value properties to a revision (that is, to a committed changeset). These properties are not versioned, since they attach metadata to the version-space itself, but they can be changed at any time.
  • Atomic commits - No part of a commit takes effect until the entire commit has succeeded. Revision numbers are per-commit, not per-file, and commit's log message is attached to its revision, not stored redundantly in all the files affected by that commit.
  • Branching and tagging are cheap (constant time) operations - Branches and tags are both implemented in terms of an underlying "copy" operation. A copy takes up a small, constant amount of space. Any copy is a tag; and if you start committing on a copy, then it's a branch as well. (This does away with CVS's "branch-point tagging", by removing the distinction that made branch-point tags necessary in the first place.)
  • Merge tracking. - Subversion 1.5 introduces merge tracking: automated assistance with managing the flow of changes between lines of development, and with the merging of branches back into their sources. The 1.5 release of merge tracking has basic support for common scenarios.
  • File locking - Subversion supports (but does not require) locking files so that users can be warned when multiple people try to edit the same file. A file can be marked as requiring a lock before being edited, in which case Subversion will present the file in read-only mode until a lock is acquired.
  • Symbolic links can be versioned - Unix users can place symbolic links under version control. The links are recreated in Unix working copies, but not in win32 working copies.
  • Executable flag is preserved - Subversion notices when a file is executable, and if that file is placed into version control, its executability will be preserved when it it checked out to other locations. (The mechanism Subversion uses to remember this is simply versioned properties, so executability can be manually edited when necessary, even from a client that does not acknowledge the file's executability, e.g., when having the wrong extension under Microsoft Windows).
  • Apache network server option, with WebDAV/DeltaV protocol - Subversion can use the HTTP-based WebDAV/DeltaV protocol for network communications, and the Apache web server to provide repository-side network service. This gives Subversion an advantage over CVS in interoperability, and allows certain features (such as authentication, wire compression) to be provided in a way that is already familiar to administrators
  • Standalone server option (svnserve) - Subversion offers a standalone server option using a custom protocol, since not everyone wants to run an Apache HTTPD server. The standalone server can run as an inetd service or in daemon mode, and offers the same level of authentication and authorization functionality as the HTTPD-based server. The standalone server can also be tunnelled over ssh.
  • Parseable output - All output of the Subversion command-line client is carefully designed to be both human readable and automatically parseable; scriptability is a high priority.
  • Localized messages - Subversion uses gettext() to display translated error, informational, and help messages, based on current locale settings.
  • Interactive conflict resolution - The Subversion command-line client (svn) offers various ways to resolve conflicting changes, include interactive resolution prompting. This mechanism is also made available via APIs, so that other clients (such as graphical clients) can offer interactive conflict resolution appropriate to their interfaces.
  • Repository read-only mirroring - Subversion supplies a utility, svnsync for synchronizing (via either push or pull) a read-only slave repository with a master repository.
  • Write-through proxy over WebDAV - Subversion 1.5 introduces a write-through proxy feature that allows slave repositories (see read-only mirroring) to handle all read operations themselves while passing write operations through to the master. This feature is only available with the Apache HTTPD (WebDAV) server option.
  • Natively client/server, layered library design with clean APIs - Subversion is designed to be client/server from the beginning; thus avoiding some of the maintenance problems which have plagued CVS. The code is structured as a set of modules with well-defined interfaces, designed to be called by other applications.
  • Binary files handled efficiently - Subversion is equally efficient on binary as on text files, because it uses a binary diffing algorithm to transmit and store successive revisions.
  • Costs are proportional to change size, not data size - In general, the time required for a Subversion operation is proportional to the size of the changes resulting from that operation, not to the absolute size of the project in which the changes are taking place.
  • Bindings to programming languages - The Subversion APIs come with bindings for many programming languages, such as Python, Perl, Java, and Ruby. (Subversion itself is written in C.)
  • Changelists - Subversion 1.5 introduces changelists, which allows a user to put modified files into named groups on the client side, and then commit by specifying a particular group. For those who work on logically separate changesets simultaneously in the same directory tree, changelists can help keep things organized.

Apache Subversion Technical Details

Deployment TypesOn-premise
Operating SystemsWindows, Linux, Mac
Mobile ApplicationNo
Return to navigation

Comparisons

View all alternatives
Return to navigation

Reviews and Ratings

 (55)

Ratings

Reviews

(1-9 of 9)
Companies can't remove reviews or game the system. Here's why
Richard Davies | TrustRadius Reviewer
Score 5 out of 10
Vetted Review
Verified User
Review Source
Our web development team uses Apache Subversion as one of our version control systems. A version control system is a critical tool for software development because it provides a central repository for our shared code and also tracks how our code changes over time, allowing us to view a history of changes or revert back to a previous version if necessary.
April 08, 2021

SVN Apache-Report

Rob Domenico | TrustRadius Reviewer
Score 8 out of 10
Vetted Review
Verified User
Review Source
Used mainly as a collective tool for version tracking to ensure revisions are tracked by the dev team, and all maintain branches of our team/project repositories. To commit the revisions once all devs have merged code from respective timelines.
Score 7 out of 10
Vetted Review
Verified User
Review Source
We used Apache Subversion to manage and control source code for our development team. Subversion helps to track, version, and manage conflicts when a file is being worked on by different team members at the same time. It allows changes to happen in parallel, keeps track of exactly what, when, and who has made the change, and allows us to revert back if necessary.
Cristian Bodnarasec | TrustRadius Reviewer
Score 8 out of 10
Vetted Review
Verified User
Review Source
We used to use Apache SVN for source code file versioning for all our software projects in the e-business department. Now we only use it for few projects that are not transitioned yet to Git. SVN, as most of the file versioning tools provide the following for us:
  • Revision control.
  • Interactive conflict resolution.
  • Tracking commits.
  • Collaborative commits (with the ability to lock files for disabling collaboration and avoid conflicts).
Luca Campanelli | TrustRadius Reviewer
Score 7 out of 10
Vetted Review
Verified User
Review Source
In my organization, Apache Subversion (SVN) is used as a versioning software for some specific types of objects. It is always and only used to allow the multiple processing of objects avoiding that a resource overwrites more recent changes and to keep track of the last changes made so as to go back to the previous modification and evaluate the differences.
Arthur Adams | TrustRadius Reviewer
Score 9 out of 10
Vetted Review
Verified User
Review Source
We used Subversion to manage a ColdFusion based software development project for a US Federal government contract. We were largely isolated (both geographically and organizationally) from the rest of the company (it was their attempt to get into Federal contracting) and I'm not sure what was used in other parts. Our biggest reason for using it was to allow working on multiple releases in parallel. Before I helped set up Subversion properly, they were delivering old code with new releases, "clobbering", as they said, previously delivered code. By setting up proper branching, I fixed the problem, to the relief of both the company and the customer. I also integrated it with the Redmine issue tracking system, requiring developers to associate issues with their commits.
venkat nitin panaganti | TrustRadius Reviewer
Score 10 out of 10
Vetted Review
Verified User
Review Source
I have used apache subversion for a course that I have taken and also for a company that I intern for. It is used for collaborating projects with team members. At the university level, apache subversion is a mandatory version control [solution] to be used in many courses and an option in many other courses in the fields related to computers. At an organizational level, at the company that I currently intern for, apache subversion is used by the whole software department over 3 different countries to collaborate over the huge project we are working on. Apache Subversion is a simple tool used to keep all the people working on a project on the same page by letting everybody work on the same project at the same time.
January 19, 2015

Git >>>>>>> Subversion

Score 7 out of 10
Vetted Review
Verified User
Review Source
Subversion used to be our main version control software before we started using GitHub. But after introduction of Git, we stopped using subversion drastically . We only have a few old code projects which are still on subversion. We have decided to go ahead with Git for all new projects.
Return to navigation