TrustRadius Insights for Apache Subversion are summaries of user sentiment data from TrustRadius reviews and, when necessary, third party data sources.
Pros
Stability: Many users have praised Apache Subversion for its stability, with some mentioning that they have experienced almost zero downtime over several years of usage. This reliability has made it a preferred choice compared to newer version control systems.
End-to-End Visibility: Reviewers appreciate the end-to-end visibility of all changes in the project provided by Subversion. This feature allows for effective revision control and makes it easier to track down and resolve conflicts.
Integration and Extensibility: Several users have mentioned that Subversion's integration with tools like Redmine and its ability to be extended using scripting languages like Perl are valuable features. These integrations enhance productivity and simplify workflow management.
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.
Pros
Track and control concurrent versions of the same files.
Has good support from many different software, including visualization, DevOps toolchain.
Well documented and understood by developers as it has been around for a long time.
Cons
Does not support distributed environment unlike Git.
Merging can be painful.
Does not natively support advanced features such as pull requests.
Likelihood to Recommend
Generally speaking, distributed version control systems (DVCS) such as Git have taken over the version control market (e.g. Github), but if your organization is mostly centrally located and is not already using something like Git, SVN can still get the job done and do it well.
VU
Verified User
Employee in Information Technology (Computer Software company, 1-10 employees)
The default conflict resolution option, to merge locally, has led to a much more efficient work environment when working with large teams on large codebases. The traditional single-person file locking can really get in the way of team work, as you have to wait for your team member to finish their changes before you can start working on the same file, even if they called in sick for work that day. While sometimes this requires manually figuring out what to do when two changes affect the same line of code, most of the time the changes are on the same lines of the file, and merging can happen transparently.
I have enjoyed the branching process in subversion. Branches and tags are not strict features of the product, which allows for fudgibility, but when you use the recommended trunk/tags/branches folder layout, it behaves as if it was built it. Implemented simply as copy/branch and merge functions, I have found them to work just as well as a built it system would work, and it does a good job pointing out issues with a change's ancestry.
Subversion also have a rich ecosystem of third-party tools and service providers. I personally have used TortoiseSVN for years, but there are several plugins that integrate directly into Visual Studio or Eclipse. Also, I have found hosting services like CVSDude (now called CloudForge) to be a big time-saver over hosting a repository on your own servers, while providing peace of mind that your code-base is in a different physical location, in case say, your server farm burned down. (I'd call that a serious edge condition, but my job involves edge conditions!)
Cons
At times, locking problems can be difficult to solve. This normally happens you make a mistake, like attempting to update a folder that has running executables within it. Often times, you can just unlock a parent folder and you' are all set, but on more than one occasion I have had to recheckout a folder because I could not resolve the lock, even after rebooting.
Looking up the history of a file can be very slow, taking several minutes, especially when looking at the history of an entire folder.
Novice users of subversion often make the mistake of dragging folders in Windows that are managed by subversion. This does not cause the folder to move in the svn repository, which can lead to serious confusion why a user's folder structure does not seem the synchronize correctly with other users. To an advanced user, this can be a very useful feature, but absolutely hell for the novice.
I have not found any third-party tools yet that let me visualize the commits for a codebase, particularly across branches. This may be partially because of the slow history I already pointed out, but I believe it's because I have not been willing to even look at the multi-thousand dollar code management solutions I have seen advertisements for in the past.
Likelihood to Recommend
I would only consider not recommending Subversion if the development department adheres to what I call the "One Microsoft Way" (a play on words of Microsoft's address). Many IT departments prefer to go completely by the book on all procedures related to IT. While that is justifiable if you consider what to do if the entire programming department quit without notice, Subversion offers too many advantages to not consider seriously as a better replacement for Microsoft's standard source code repository solutions.