Apache Subversion is a version control option that is free to download and open source under the Apache 2.0 license.
N/A
Bitbucket Server (discontinued)
Score 6.0 out of 10
N/A
Bitbucket Server (formerly Stash) from Atlassian was a self-hosted source code management solution. The product is no longer available for sale, and support for existing licenses ended in 2024.
Subversion solves our software versioning problem by providing tools for conflict resolution when doing collaborative work on the same files and projects. We use it with TortoiseSVN and it works great for some of our projects with smaller teams. However, we have a need to make code reviews more and it is a little more difficult to do that in SVN, compared to Bitbucket and Git.
Bitbucket Server (formerly Stash) is suitable for departments or teams with the capacity to manage and support their own products and the availability to implement the tool on their own infrastructure. Bitbucket Server (formerly Stash) enables a good framework based on git to integrate the development cycle and to handle anything from a minor group of users and repositories to an extended usage with multiple users and roles collaborating in different projects.
Projects & Permissions - Stash keeps you and your developers productive by providing a way to structure your repositories and manage permissions via a simple, yet powerful user interface. Stash is very easy to use, manage & administer.
Essentially Stash gives two versions of interfaces to work with.
Stash Repository hosted on a server.
Atlassian SourceTree.
Atlassian Sourcetree is a tool to work with a code in stash. The two 'web' and 'desktop' versions make working with code user friendly, intuitive and comprehensive.
Connectivity to JIRA - Stash keeps track of all issues associated with commits. Users can use Stash to quickly see all issues associated with a commit, or use the Source tab on JIRA issues for an aggregate view of all the code changes that are related to a specific JIRA issue. With this information available, your development team saves time when tracking particular bug fixes or improvements.
Refactoring the layout of a respoitory--or a part of a repository--can be a bit painful, especially for users with workspaces associated with the affected part of the repository. Not sure what could be done to make that better, but it would be nice if something was possible.
Folks coming from Git can have problems using Subversion. Again, not sure anything can (or should) be done to address that, but it is occasionally an issue.
You can't allow users to create new repositories without them being full admins of a whole project
There's not a way to limit who can merge a pull request (e.g. allow only the author to merge) outside of branch permissions
Some settings like default reviewers can't be easily copied to different repositories (without setting default reviewers at the project level, which we don't want to do because a single project has multiple team's code under it)
While there are interesting alternatives, such a GIT, Subversion has been a breath of fresh air compared to its predecessors like CVS or Microsoft Source Safe (now called Team Foundation Server). Its ease of use and high adoption rate is going to keep me using this product for years to come.
The usability of its interface is pretty straight forward when it comes to creating projects and repositories, but when you have to dive into finer grained portions of the UI things can get tricky. If you are used to using tools like GitHub or Gitlab -- Bitbucket is just different enough to be a bother.
Never really needed any support as the application is very easy to set up and maintain. Any questions we had were well documented in their online documentation, and community forum.
After Microsoft Visual SourceSafe was discontinued, we chose Subversion and it was a great choice. We were able to migrate to Apache Subversion very quickly and easily and benefited immediately from its non-locking workflow (SourceSafe required users to "lock" the file when editing to prevent editing conflicts from other users, whereas Subversion allows multiple users to edit the same file simultaneously and then merge conflicts later.)
While we still use Apache Subversion for our legacy projects, we've migrated to Git and GitHub for our new projects as that is the new "cool kid" and it provides some benefits such as distributed and offline development. But Git is more complex than Apache Subversion and not as easy to learn.
We migrated several of our applications to BitBucket from legacy Team Foundation Server, and the experience has been significantly better. It's easy to use and plenty flexible. Other solutions such as GitHub are also good, but we needed to keep everything on-prem due to constraints around our industry and company, though we are currently re-evaluating whether we can move to something cloud based in the future.
It allowed us to deliver the right files to our customer without "clobbering" previous releases, making for a far more satisfied customer.
It allowed our developers to work on two releases in parallel (plus an occasional third, for emergency fixes).
With some simple hooks, it allowed us to set up a system where code was was automatically deployed to test servers as soon as developers committed it, making testing easier. This was made easier by virtue of being a ColdFusion project, which requires no compilation. However, that is possible for compiled code with a continuous integration system like Jenkins.
In positive form, having Stash over not having it at all has provided us with a superior repository system over trying to push to some local server instance and manage branches/merging from our local machines.
There are no real negatives to using Stash, its only problem is that there are competitors out there that can offer additional features.