Clone wiki

MacHg / Home

MacHg is a gui client for Mercurial. It runs under OSX 10.6 (Snow leopard). It is free to use and donation ware.



Screen Shots

Screen Casts

Discussion Group


Compiling MacHg from Sources

MacHg Features

  • Document based structure with multiple repositories per document.
  • View incoming and outgoing at a glance between compatible repositories
  • Auto refreshes the status of tracked files when they change
  • Incremental loading of history (for efficiency)
  • Works with large repositories (ie for example can load and work with the Mozilla repository which is 3.35Gb)
  • Fully compatible with command line Mercurial (You can make changes on the command line and they are reflected in MacHg.)
  • Fully multi-threaded using Grand Central Dispatch and threading goodness
  • File browser view to work with files
  • History view to explore the changeset history
  • Differences view to explore the historical changes between different revisions
  • Interacting with other repositories: pull, push, incoming, outgoing, clone, etc
  • Contextual menus and shortcuts in many places
  • Diff multiple files at once
  • Renaming, merging, updating, reverting, adding files, removing files, etc
  • Add and remove local tags, global tags, bookmarks, and branches
  • Interface to history editing: collapse, histedit, rebase, strip
  • Importing and exporting of patches
  • Uses the Sparkle framework for "in application" updates


If you would like to contribute I would be happy to receive help in a large number of areas. Including:

  • Testing
  • Documentation (MacHg has some documentation but it would be nice to have much more complete documentation.)
  • Cocoa coding (Lots of potential enhancements here)
  • Mercurial extension writing (There are a few extensions I could use help with: for example, around permissibility of dragging and dropping in history rewriting, etc.)
  • Translating (Especially those who have experience using Apple's polyglot tool, etc.)
  • Web designers (There are a number of enhancements to be made to web pages, wikis, etc.)
  • Graphic design (Icon design, etc.)

Issue Tracking

Since Bitbucket originally didn't have a priority or difficulty setting for issues I used the following scheme for priorities:

P1 - CriticalD1 - Extreme
P2 - HighD2 - Hard
P3 - NormalD3 - Normal
P4 - LowD4 - Easy
P5 - MinorD5 - Trivial

That is P3D4 is something that is not too bad and relatively easy to fix. A P4D1 issue is a minor bug which is extremely hard to fix, etc... (This scheme actually seems to work quite well for me so I have stuck to it even though the bitbucket issue tracker now has priorities.)

To report a bug / enhancement / proposal / suggestion please:

  1. Log into bitbucket so you are not anonymous. (It helps me to be able to correspond with you, etc.)
  2. Include the version of MacHg.
  3. Attach screen shots if applicable.
  4. Attach a crash log if there is one. (But this rarely happens)

Of course I would rather have an issue reported even if you don't do the above steps and I don't want the submission process to be onerous at all. So if you miss one of the above steps its no big deal. However, please don't change the rating of your reported bug if I give it a different rating than you expect. Of course you can definitely talk to me about it if you think I made a mistake with the priority of the bug. And in advance thanks for reporting any issues!

Also if you are reading this and thinking that MacHg is going to turn your computer into a smoking heap if you try to commit a change then please read a lot of the closed reports to get a sense of the program. It is quite stable and nicely fully featured and the reports coming in are from people using it rather than trying to get it to work...

Jason F Harris, 2010