The short version: * Patches should have a good summary line for first line of commit message * Patch series should be sent primarily as Merge Requests[1] or to the Google Group[0] * Patch needs to do exactly one thing * test suite passes (enforced by continuous integration) The longer version: We use a variant of Mercurial's own contribution system. https://www.mercurial-scm.org/wiki/ContributingChanges contains their full guidelines. Key differences are (by rule number): 1. For hg-git, we're not strict about the "topic: a few words" format for the first line, but do insist on a sensible summary as the first commit line 2. You can cross-reference Heptapod issues in the #NNN format 10. We use mostly pep8 style. The current codebase is a mess, but new code should be basically pep8. 0: Mailing list: hg-git@googlegroups.com Archives: https://groups.google.com/forum/#!forum/hg-git 1: The project is hosted at https://foss.heptapod.net/mercurial/hg-git To submit a Merge Request, please ask for Developer rights using the 'Request access' link. Then, following the instructions of the following tutorial should be enough: https://heptapod.net/pages/quick-start-guide.html If you do a Merge Request, we're still going to expect you to provide a clean history, and to be willing to rework history so it's clean before we push the "merge" button.