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

green-tick1

Pull requests within a repository and between branches

green-tick1

green-tick1

Support inline comments on code, general comments

green-tick1

green-tick1

Workflow (approvals) for pull requests

green-tick1

green-tick1

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.

green-tick1

green-tick1

Reduced pricing for academic and community usage

green-tick1

green-tick1

Integration with JIRA and HipChat – including the ability to create a new branch directly from a JIRA task

green-tick1

green-tick1

Inline code comments

green-tick1

green-tick1

User permissioning based on user and/or group membership

green-tick1

green-tick1

Code hosting and repository management for Git, including HTTP smart protocol and SSH protocol

green-tick1

green-tick1

Pull requests within a repository and between branches

green-tick1

green-tick1

Workflow (approvals) for pull requests

green-tick1

green-tick1

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

green-tick1

green-tick1

30 day free trial

green-tick1

Secure pull requests – enforce rules about when code can be merged

green-tick1

Deep extensibility for custom plugins

green-tick1

Installed on your servers, if you need custom security layers, data storage, LDAP integration, the ability to control OS, database

green-tick1

Scales to an enterprise offering

green-tick1

First five users free

green-tick1

Graph in commits tab

green-tick1

Mercurial support

green-tick1

Public repositories

green-tick1

Team accounts

green-tick1

Hosted in the Atlassian Cloud

green-tick1

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.

Leave a Reply