What is our primary use case?
The typical use case for Apache Subversion is to store the application code repositories, which is how we use this product in our company.
For multiple projects, we are using Apache Subversion, and for binary files, once the project is committed, we build the project to create artifacts. We store those artifacts in a separate artifact repository, not in Apache Subversion, because we must keep the minimum storage on the centralized server; otherwise, our repository will grow to a very big size.
What is most valuable?
I find the strong point of Apache Subversion to be that it is a centralized version control system, allowing us to keep our code repositories at a central server. This means that even if the end user system goes down, we have our code available at the centralized server, and multiple teams can connect together, collaborate, and contribute to the code on Apache Subversion.
The benefit of Apache Subversion to my organization is that we have a platform where we can host our code and maintain the versions of our applications.
What needs improvement?
There is room for improvement in Apache Subversion, especially when comparing it with other version control systems such as GitHub or GitLab, where many improvements could be made.
Improvements I would like to see in Apache Subversion include configurations, customizations, and functionalities such as those provided by GitHub Actions for immediate pipeline triggers, as well as the version controlling and CI/CD platform offered by GitLab.
In future updates of Apache Subversion, I would like to see CI/CD integrations as well as build and deployment servers.
The lack of latest features includes basic requirements such as pull requests, CI/CD platform integration, and artifact storage such as GitHub packages, which it does not offer.
For how long have I used the solution?
I have been using Apache Subversion for more than three years.
What was my experience with deployment of the solution?
I deployed Apache Subversion by myself using the Apache documentation, without any help or a team of specialists.
It took me around three to four days to deploy Apache Subversion, because not only the installation but the other repositories configuration I completed took around three to four days.
How are customer service and support?
I have taken support from Apache during the migration from CVS to Apache Subversion initially, but currently, we don't have any active support.
Based on my experience with Apache Subversion's technical support, I would rate it an eight out of ten.
How would you rate customer service and support?
Which solution did I use previously and why did I switch?
Before Apache Subversion, we worked with CVS.
How was the initial setup?
As the person who did the deployment of Apache Subversion, I confirm that I was indeed responsible for it.
What was our ROI?
I have not seen any return on investment or cost reductions after implementing Apache Subversion, as we are currently migrating from Apache Subversion to Bitbucket for the CI/CD integrations and deployment. In terms of pricing, we cannot compare it with any other platform because Apache Subversion is very low in price.
What's my experience with pricing, setup cost, and licensing?
I am satisfied with the pricing and licensing cost of Apache Subversion; it is very low compared to other products.
Which other solutions did I evaluate?
Currently, we are using a mixed kind of version controlling with Apache Subversion plus Atlassian Bitbucket, and we no longer use CVS.
What other advice do I have?
I have utilized the atomic commits feature in Apache Subversion.
For the development process using Apache Subversion, we integrated it within the IDE, allowing each developer to commit, push code, and pull the code directly from the IDE.
We are using branching and merging functionalities in Apache Subversion.
These branching and merging features help maintain project versions by allowing one of our application teams, which has around 12 to 13 developers working on different feature sets, to create feature branches and separate environments for development, production, UAT, and staging. We have created separate branches accordingly, and the entire deployment process is dependent on those branches. When we push code to the development branch, the development CI/CD pipeline triggers, updating the development branch. Once the work on the development branch is done, we commit to the main branch to release the final version of our application.
Platform independence is important for our use of Apache Subversion; it is independent because our application is hosted on other EC2 instances, while Apache Subversion is completely isolated in different VPCs on AWS.
I rate Apache Subversion a six out of ten only because it does not offer any latest features.
Which deployment model are you using for this solution?
Public Cloud
If public cloud, private cloud, or hybrid cloud, which cloud provider do you use?
Amazon Web Services (AWS)
Disclosure: My company does not have a business relationship with this vendor other than being a customer.