BitBucket is a source code repository hosting solution by Atlassian. Besides repository hosting, it also offers issue tracking and wikis. We are currently considering BitBucket as a Gitorious replacement.
The main hierarchical unit in BitBucket is a repository. That’s also the only level: there’s no grouping of repositories or the notion of a project. That means if you have 50 repositories, you’ll have to scroll through the list to find the one you need, which means you’ll be wanting a strict naming convention. The issue tracker and wiki are per-repository.
BitBucket supports git and Mercurial source-code repositories. Repositories belong to a single user, who can give access permissions to that repository (see below). Users with access to a repository can fork and/or watch it. Forking allows users to create pull requests for the original repository.
Access to the repositories is configured per-repository, by the owning user (i.e. the ‘Lunatech’ user). Users can be grouped, and access can be granted to an individual, or to an entire group. There are three levels of access: read, read/write, and admin.
BitBucket accounts do not belong to an organisation or other account. In other words, it’s not possible for us to create or delete users, we can only give existing BitBucket users access to our repositories. It’s also not possible to revoke access from all repositories for a single user, so you would normally grant access to a group instead.
Bitbucket repositories can have a wiki attached. Wiki pages are written in Creole syntax. Pages can be edited by checking out the wiki as a git repository, or through an editor built into Bitbucket. There’s a pretty decent Creole editor and preview functionality.
A BitBucket repo can have issue tracker. On creation, tickets have (non-customisable) types and priority, and can be assigned to a user. Once created, the ticket gets the status ‘new’, which can be changed to one of open, resolved, invalid, duplicate or wontfix. Milestones, versions and components can be configured per repository, in which case they become available as properties on tickets.
BitBucket is an obvious migration path from JIRA/Confluence to hosted DVCS with integrated lightweight issue tracker and wiki. Our specific conclusions are as follows.
Our conclusion is therefore that we want to use GitHub, even though it’s going to cost more and we’ll be limited in the number of repositories.
Please send comments on this article to editorial@lunatech.com.
Copyright © 2005-2012, Lunatech Research B.V. All rights reserved.