BitBucket is a Mercurial repository hosting service with a project view similar to Trac in spirit. It is a proprietary licensed platform, and uses a cloud that is free for small teams with unlimited private and public repositories.
As they say:
Develop code as a team. Keep all your development in one place, be it issue tracking, documentation or sharing code.
Lots of good stuff to steal there ;-)
Among other things, they use WikiCreole all over the place, the same way Trac uses its own Trac WikiFormatting everywhere. Furthermore, the wiki is itself stored in a secondary Mercurial repository, much like described in TighterSubversionIntegration#Aprivaterepository.
Basic Mercurial Setup
Obviously, you will need a Mercurial client:
- The "raw" command-line client can be downloaded here: https://www.mercurial-scm.org/
- A GUI client for Windows also exists, surprisingly named TortoiseHG
It is considered Good Practice to first get things working with command-line, before moving to GUI-based solutions.
Once the client is installed, some basic configuration is in order. Create the global configuration file, depending on your platform:
- On Windows XP and earlier:
C:\Documents and Settings\USERNAME\Mercurial.ini
- On Windows Vista and newer:
- TODO Other OS?
This configuration file is ini-style. Important settings for working with the Trac BitBucket mirror:
[extensions] convert = eol = graphlog = ; See below concerning external extensions hgsvnutils = /path/to/HgExts/HgSvnUtils/HgSvnUtils.py [diff] git = true
For details on the concept of extensions see https://www.mercurial-scm.org/wiki/UsingExtensions
To install it, go to some local directory and run (from command-line)
hg clone http://rc.c-space.org/hg/HgSvnUtils
and then set the
hgsvnutils option mentioned above to the checked-out location.
Working with BitBucket
Once you installed Mercurial command-line client, you can
hg clone http://bitbucket.org/edgewall/trac (or any other public repository).
After creating an account and a repository (or Trac-fork), you will also be able to push & pull changes against the remote repository:
https://USERNAME@bitbucket.org/USERNAME/reponameover SSL (built-in support in the Mercurial client); or
ssh://email@example.com/USERNAME/reponameover SSH (note that this uses
For this you will need
sshclient and SSH key-pair
- See http://confluence.atlassian.com/display/BITBUCKET/Using+SSH+to+Access+your+Bitbucket+Repository for instructions
- If you're on Linux, you probably already have
sshand keys, so good for you.
- If you're on Windows,
sshis not native. You may obtain a
sshclient for Windows (like
plink.exe), but why bother, when you have the SSL option?