It’s a common enough question and at Design Industries, we’ve heard it more than once. It goes something like this:
“We love working with Atlassian tools; JIRA is central to what we do here. Now I’m evaluating Git repository management options and looking at Atlassian’s Stash and BitBucket. Which one is right for my team?”
For starters, you’re not comparing apples with apples. While the two products share a range of features, they are not interchangeable.
Let’s take a look at what functionality they share, what makes each of them unique and what you should consider when making your choice.
Features shared by Stash and BitBucket
Feature | Stash | Bitbucket |
---|---|---|
Code hosting and repository management for Git, including HTTP smart protocol and SSH protocol | ||
Pull requests within a repository and between branches | ||
Support inline comments on code, general comments | ||
Workflow (approvals) for pull requests | ||
Browse code via a web interface, to view a changeset, a commit history (for a repository or a single file) or the file tree on a particular branch or tag, with a unique URL for each line, file, directory and commit. | ||
Reduced pricing for academic and community usage | ||
Integration with JIRA and HipChat – including the ability to create a new branch directly from a JIRA task | ||
Inline code comments | ||
User permissioning based on user and/or group membership | ||
Code hosting and repository management for Git, including HTTP smart protocol and SSH protocol | ||
Pull requests within a repository and between branches | ||
Workflow (approvals) for pull requests | ||
Browse code via a web interface, to view a changeset, a commit history (for a repository or a single file) or the file tree on a particular branch or tag, with a unique URL for each line, file, directory and commit | ||
30 day free trial | ||
Secure pull requests – enforce rules about when code can be merged | ||
Deep extensibility for custom plugins | ||
Installed on your servers, if you need custom security layers, data storage, LDAP integration, the ability to control OS, database | ||
Scales to an enterprise offering | ||
First five users free | ||
Graph in commits tab | ||
Mercurial support | ||
Public repositories | ||
Team accounts | ||
Hosted in the Atlassian Cloud |
Some key features that you’ll find in both these tools are essentials for your dev team:
- Code hosting and repository management for Git, including HTTP smart protocol and SSH protocol
- Pull requests within a repository and between branches.
- Both support inline comments on code, general comments
- Workflow (approvals) for pull requests
- Permissioning on both Stash and BitBucket based on user and/or group membership
- Browse code via a web interface, to view a changeset, a commit history (for a repository or a single file) or the file tree on a particular branch or tag, with a unique URL for each line, file, directory and commit.
Stash apples and BitBucket oranges – differences to consider
Hosting
First up, if the cloud is not a hosting option for you – e.g. for custom security layers, data storage, LDAP integration – then you need Stash. You’ll need Stash if you need the ability to control OS, database, etc
BitBucket is hosted in the cloud, and the benefit for BitBucket users is that this removes the need to manage your server administration or purchase any extra hardware
Workflow
This is another example of where BitBucket and Stash aren’t quite apples and apples. Yes, they both offer workflow control and good collaboration options but Stash has an added feature of secure pull requests, including the ability to impose strict – and enforceable – rules about when code can be merged, e.g. minimum number of approvals.
Extend with add-ons
Atlassian loves their easy-to-use REST APIs – available for both BitBucket and Stash. However, if you’re looking for deep extensibility for custom plugins, then again it’s Stash that will deliver. Check out the Atlassian Marketplace to get an idea of the types of add-ons you can create.
Scaled cost – and support
Licensing costs are comparable at smaller user numbers, but you’ll notice a difference as you move to higher numbers of users. Atlassian offers reduced pricing for academic and ‘community’ usage. For commercial usage, you’re looking at $10 per month for 1-10 users for Stash and for BitBucket, first five users free and 10 users $10 per month. BitBucket has a pricing scale that ranges from five users (free) to 10 ($10), 25 ($25), 50 ($50) and 100 ($100) users then a plan for ‘unlimited’ users of $200 a month. It’s extremely affordable but comes with limited support. The pricing for Stash jumps through the same user numbers, but costs significantly more. What you get for the extra investment, say Atlassian, is a licence that entitles you to perpetual use, 12 months of maintenance by way of updates and support and a ‘behind the firewall’ solution that scales to an enterprise offering (more than 500 users).
Unique to Bitbucket
For some users, some of the features available only in BitBucket and not yet available in Stash can be the difference between choosing one tool over another. Here’s a sample of some you might see coming up in discussion forums:
- Graph in commits tab (although a plugin for Stash is available here)
- Mercurial support
- Public repositories
- Team accounts
Integration with other Atlassian JIRA and HipChat
Two key integrations for both Stash and BitBucket are JIRA and HipChat.
Link issues and commits with JIRA integration
BitBucket and Stash both integrate smoothly with JIRA, and they both recognise JIRA issue keys in commit messages, displaying the keys as links to JIRA.
And the integration is effective in both directions: JIRA shows the details of the commit, and you can click right through from there to Atlassian Stash or Bitbucket.
For both BitBucket and Stash, your developers can create a new branch directly from a JIRA task
Commit visibility in HipChat
Another integration to consider for your team is HipChat. Enhance collaboration when you post and view comments in the HipChat chat window so everyone in the project can see commits.
Fun fact: Atlassian built (and continues to improve) Stash with Stash.
So where does that leave us?
Aside from some minor feature variations, keep in mind that Stash is an enterprise-grade tool, and it’s ideally suited for larger organisations with their own OS, database management, security and LDAP integration requirements. BitBucket is a great choice for small flexible teams who are happy to use the cloud.
Once you have your head around the features and functionality of Stash and BitBucket, a great way decide between the two is to give each of them a try. BitBucket accounts for 1-5 users are free – and you can trial Stash for 30 days for free.
Atlassian Experts Design Industries help large and small dev teams get the most out of Atlassian products and tools. Talk to us today about Git integration and take your code project to the next level.