Source Control using BitBucket

Putting code under source control is on most checklists for modern software development. Even small side projects, scripts, and code snippets can benefit from being under source control. For example:

  • When you improve the code others can see the changes and get the benefits
  • If someone else improves the code those improvements can be passed back to you via an automated process

BitBucket is a hosting service for the code-source control system Mercurial. Mecurial is part of a new-wave of distributed source control systems that have the following advantages and disadvantages over regular non-distributed source control:

Advantages Disadvantages
  • Everyone has a local sandbox
  • It works offline
  • It’s fast
  • It handles changes well
  • Branching and merging is easy
  • Less management
  • You still need a backup.
  • There’s not really a “latest version”
  • There aren’t really revision numbers.
  • GitHub a similar service but based on the distributed source control system Git developed by Linus Torvald the creator or Linux. Whilst the debate rages on which of Mecurial and Git is better, I chose Mercurial because Git is MacGyver and Mercurial is James Bond. Also Git isn’t the nicest word in this part of the world.

    There are already some GIS related projects in BitBucket such as Descartes, some TileCache Patches, and some OpenLayers HTML 5 code that may be of interest. It’s also free if you use public code repositories (you can have 1 private one) and use less than 1GB of space – which is a lot of source code.

    Discussion has just started! Join in...

    Pings to this post

    1. […] There are already a couple of official quick start guides to using Mercurial’s Window’s client program TortoiseHG, but below are the bare details of how to use it with a new account on the BitBucket service. […]

    Leave a Reply

    Your email address will not be published. Required fields are marked *


    You may use these tags : <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>