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.
N/A
Mercurial
Score 9.1 out of 10
N/A
Mercurial is a free, distributed source control management tool. It handles projects of any size and boasts an easy and intuitive interface. Mercurial handles projects of any size and kind. Every clone contains the whole project history, so most actions are local, fast and convenient. Mercurial supports a multitude of workflows and can enhance its functionality with extensions.
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.
If you generally think that to develop software you have to choose one repository, then in my opinion you have to choose between Mercurial and Git, there is not other solution. Mercurial also has a good merge tool which i can recommend. This gives you the flexibility to push just the "part of the feature", and is much better suited in the case where the "part of feature" and some other "part of the feature" both contain changes to the same file.
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.
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)
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.
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.
When we chose Mercurial it was more popular from perspectives than Git and we have too many problems with the Microsoft team foundation solution. We also want to move from a centralized version of source control to a distributed one. We also were working more and more via the Internet with our source control so distributed version was only solution.
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.