Versions Compared

Key

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

...

The process for contributing or reviewing a patch is documented in the Contributing Code Changes page.

Commiter Workflow

If you have commit access on the apache repository then you will not be applying patches in the manner described in the reviewer workflow. Instead, once your patch has been reviewed you will check it in yourself as follows:

  1. Create a branch to work on:

    Code Block
        git fetch
        git checkout -b xyz remotes/origin/trunk
      
  2. Implement the feature.
  3. Rebase:

    Code Block
        git rebase remotes/origin/trunk
      
  4. Post the change to JIRA and get it reviewed.
  5. Push the change back to Apache. Pick one of the following:
    • You should almost always collapse your work into a single check-in in order to avoid cluttering the upstream change-log:

      Code Block
           # assuming trunk is up-to-date with origin
           git checkout trunk
           git merge --squash xyz
           git commit -am "KAFKA-XXX xyz feature; reviewed by <reviewers>" --author="firstname lastname <contributoremail>"
           git push origin trunk
         
    • If you are absolutely sure you want to preserve your local intermediate check-in history then push directly from your feature branch instead of the above merge (or use merge without the squash option):

      Code Block
         # from feature branch xyz
         git push origin trunk
         

[Note] For reviewer and simple committer workflow, remember to resolve the corresponding JIRA ticket and mark the fix versions label after the corresponding patch is committed.

 are merging a patch attached to a JIRA (and not a github PR), here is a suggested workflow.

Github Workflow

Apache doesn't seem to provide a place to stash your work-in-progress branches or provide some of the nice social features github has. This can be a problem for larger features. Here are instructions for using github as a place to stash your work in progress changes.

...