Chapter 8. Submitting patches

If you have found a problem in Cluster Glue or Heartbeat, and you are able to fix it, the developers would love to see a patch from you. To do so, please follow the steps outlined in this section.

Create a working copy (a Mercurial clone) of the upstream repository with the following command:

hg clone heartbeat

Create a new Mercurial queue, and a new patchset:

cd heartbeat
hg qinit
hg qnew --edit --force fix-superfrobnication

The --force option rolls your local modications into the patch set you are just creating.

In your patch message, be sure to include a meaningful description, for example:

High: IPC: fix superfrobnication on 63-bit platforms

In the IPC layer, superfrobnication breaks on 63-bit middle-endian
Linux platforms when ACPI is disabled. Fencepost align
foobar_create_reqqueue() and guard against memory spinlock starvation
to fix this.

Now the patch set is good for review on the mailing list:

hg email fix-superfrobnication

Once your patch has been accepted for merging, one of the upstream developers will push it into the repository. At that point, you can update your checkout from upstream, and remove your own patch set.

hg qpop -a
hg pull --update
hg qdelete fix-superfrobnication