Versions Compared


  • This line was added.
  • This line was removed.
  • Formatting was changed.


(i'm leaving this here for the moment until we decide if we want to archive it or just replace it with the other page.)

This document describes how to commit changes to ZooKeeper. It assumes a knowledge of git. While it is for committers to use as a guide, it also provides contributors an idea of how the commit process actually works.


  1. is this a github pull request? follow the instructions for you don't need to follow the procedure below.

  2. make sure the code is up-to-date
    git pull

  3. create a branch for the patch
    git checkout -b ZOOKEEPER-1234 # ZOOKEEPER-1234 is the JIRA number
  4. apply the patch
    patch -p0 < patch_path
  5. run the tests are your machine as a final check. (seems redundant, but sometimes issues pop up.)
  6. edit the CHANGES.TXT file and put the jiras that correspond to the patch in the appropriate section. add the Jira number. description (contributor via committer). a convention has emerged of using the committers id for brevity, but using the full names of non-committers. (i don't think we do this any more)
  7. If the patch includes documentation changes, then regenerate the rendered docs by running "ant -Dforrest.home=<path to Forrest> clean docs".  Modifications should now be shown under the docs folder.  However, DO NOT commit changes in docs/releasenotes.html or docs/releasenotes.pdf.  Release notes are handled separately as a release management activity, as documented here: HowToRelease - OUTDATED! .
  8. git commit and push the changes
    git commit -a -m "ZOOKEEPER-1234: description (author via committer)" --author="John Doe <>"
    git push origin ZOOKEEPER-1234:master
  9. resolve (make sure you "resolve" and not "close".) the jiras that correspond to the patch and put the commit message (that one that has the new revision number) in the resolution comment field.