Here is what I've been doing
* Clone Kafka locally (git clone git://github.com/apache/kafka.git)
* Create feature branch off of trunk (git branch KAFKA-657)
* Do work on the feature branch
* Rebase from trunk (git rebase trunk). This minimizes or eliminates any
conflicts when people try to apply your patch.
* Generate a diff like: git diff HEAD~5 > KAFKA-657v7.diff (this
essentially squashes all my commits into one diff)
To apply a patch and test I would (in theory), create a local branch
from trunk (e.g., KAFKA-657-integration), apply the patch (git apply
KAFKA-657v7.diff), and test the patch.
Another approach would be to use the built-in Git patch stuff (git
format-patch and git am). git format-patch will create a patch file per
commit, which may or may not be what you want.
Pushing local changes to a fork in GitHub is also pretty simple. You
just need to have both GitHub repositories set up as remotes in your
local repository. E.g., add your GitHub fork as a separate remote "git
remote add mumrah [EMAIL PROTECTED]:mumrah/kafka.git", then push your
feature branch to it "git push mumrah KAFKA-675"
On 1/2/13 4:45 PM, Jay Kreps wrote: