An extension of the Mercurial distributed version control system to support for the generalized Driessen branching model
Updated the version number in the text:
flow: Created branch 'hotfix/'.
Added tag v0.9.8.6 for changeset b6b3a8566696


browse log
browse .tar.gz




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. We also generalized the original Driessen's model by allowing user to use any branch as the base to start a (sub-)feature branch (and more).

#Get started

  • The hgflow extension contains a single Python file:

  • The latest release is v0.9.8.7.

  • Developers can clone the repository with hg clone ssh://

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

autoshelve = yes
#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 file.
  • Consistency of the coding style will be strictly and relentlessly maintained here.
#Contributing enhancements and/or fixes
  • To file an issue, use this page.
  • If you have a fix, please post it here.
  • Ensure that your change does not break any tests.
  • hgflow has entered the maintenance mode: For last several years, we only updated hgflow to catch up Mercurial's APIs changes. There is no requests for major new features for hgflow. If you have a bugfix, please put it into the latest hotfix branch.
#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.