You are viewing an old version of this page. View the current version.

Compare with Current View Page History

« Previous Version 8 Next »

Interested in contributing patches to Samza? This page will get you started.  

Rules

Style

Please read this page for coding style suggestions.

Tests

Setup

Install rbt to make life easier.  

 sudo easy_install -U RBTools

Contributor Workflow  

After setting up, you'll want to checkout the code.  

 git clone http://git-wip-us.apache.org/repos/asf/samza.git

To work on a JIRA once you've checked out, create a new branch.  

 git branch SAMZA-2

Now you can checkout the branch to work on it.  

 git checkout SAMZA-2

Once you've committed some changes to the branch, you can submit your patch to Review Board.  

 rbt post --summary "SAMZA-2: fix the bug of .." --description "Detailed description of my patch"

The post command will spit out a URL. Verify that everything looks good, and then publish the review.  

 rbt publish 13725

Publishing will notify the dev mailing list that a new review request has been published. 


The JIRA for the bug you're working on should be updated as well. Start by downloading the diff from Review Board.  

 curl https://reviews.apache.org/r/13725/diff/raw/ > /tmp/SAMZA-2.0.patch

Next, visit the JIRA page (e.g. https://issues.apache.org/jira/browse/SAMZA-2), and attach the patch file with a comment that points to the review board. See this example.

 

After you got some reviews and updated your working branch accordingly, you can update the review board:

 rbt post -r 13725 --description "Description of my updated code"
 rbt publish 13725

Committer Workflow

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

  1. Create a branch to work on:

     

    git fetch
    git checkout -b xyz origin/master
  2. Implement the feature.
  3. Rebase:

     

    git rebase origin/master
  4. Post the change to JIRA and get it reviewed.
  5. Push the change back to Apache. Pick one of the following:

 

# assuming master is up-to-date with origin
git checkout master
git merge --squash xyz
git commit -am "SAMZA-XXX xyz feature" --author="firstname lastname <contributoremail>"
git push origin master
  • No labels