All mercurial commands are represented by a base method in this package:

hg log = $hg->log()->run();

However, there is not an exact 1-to-1 corresponence between Mercurial option names and chained helper methods. Instead, I have chosen to use full, semantic method names to make it clear how the option should modify the command. I have used Mercurial long-option names wherever they make sense, but modified them to better fit into the fluid interface.

The initial use case is to make a useful interface to Mercurial for Phing and other deployment & build systems. Eventually, I plan to support all Mercurial commands.

A Mercurial installation is required. Either the stock CLI client or TortoiseHg, which includes the CLI client. VersionControl_Hg is smart enough to search the Path to find a viable Mercurial executable. Platform independence is a primary design goal.