The plugin builds upon an existing script that essentially acts as a Git-facade around Mercurial. Swapping the script in for Git is sufficient to cause Xcode to think it’s dealing with Git, when in fact it’s dealing with Mercurial. Pretty clever. The plugin takes this a step further by appyling some runtime patches on Xcode to improve the handling of Mercurial repositories.
Although Raphael calls it a plugin, and it does extend Xcode, it’s important to recognize that Xcode doesn’t provide an official plugin mechanism. Not even for revision control solutions. This makes the achievement even more admirable, but should also inspire you to proceed with caution if you choose to try the plugin out.
As explained in the project documentation, the plugin is still experimental and doesn’t support all of Xcode’s Git-based features. Still, it’s a nice start, and I appreciate the spirit of rallying Mercurial fans to fill the void that Apple has left in choosing not to officially support Mercurial.