Hgflow is an extension of the Mercurial distributed version control system to provide users a set of high level commands for creating, merging, and deleting branches, which includes the support for the Driessen's branching model and its generalized version.

Get started


  • The hgflow extension contains a single Python file: hgflow.py. You can download it here.
  • The latest release is v0.9.8.3.

  • Developers can clone the repository with hg clone ssh://hg@bitbucket.org/yujiewu/hgflow.

Install and configure

  1. Untar the downloaded tar ball, and move the hgflow.py file to the directory where you place your Mercurial plugins.
  2. Edit your $HOME/.hgrc file to add the following lines:
flow = path/to/hgflow.py
mq =

autoshelve = yes

For more information, refer to the Wiki.

Help and tutorials

  1. Use hg flow -h to see a synopsis of the help message.
  2. Use hg flow help @<topic> to see detailed help message on a particular topic, e.g., hg flow help @help, hg flow help @start.
  3. Other resources:


Coding style

  • Please pay attention to the coding style in the hgflow.py file.
  • Consistency of the coding style will be strictly and relentlessly maintained here.

Contributing enhancements and/or fixes

  • Feel free to fork and send pull requests.
  • Ensure that your change does not break any tests.

Writing and running tests

  • We use Mercurial's testing framework. For writing new tests, refer to this document.
  • All tests should be put to the tests/ directory.
  • To run tests, cd to the root dir of the hgflow repository, and then make <test-name> to run the specified test.