BitBucket
BitBucket is a Mercurial repository hosting service with a project view similar to Trac in spirit.
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.
Note that we maintain an official Mercurial mirror of the SubversionRepository there, see edgewall/trac.
Basic Mercurial Setup
Obviously, you will need a Mercurial client:
- The "raw" command-line client can be downloaded here: http://mercurial.selenic.com/
- 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: C:\Users\USERNAME\Mercurial.ini
- 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
Mercurial Extensions
For details on the concept of extensions see http://mercurial.selenic.com/wiki/UsingExtensions
An important external extension for Trac development with Mercurial is the HgSvnUtils extension (maintained by RemyBlank).
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:
- Using https://USERNAME@bitbucket.org/USERNAME/reponame over SSL (built-in support in the Mercurial client); or
- Using ssh://hg@bitbucket.org/USERNAME/reponame over SSH (note that this uses hg as username!)
For this you will need ssh client 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 ssh and keys, so good for you.
- If you're on Windows, ssh is not native. You may obtain a ssh client for Windows (like plink.exe), but why bother, when you have the SSL option?


