Generally we want to stay small and fast. To attract and keep developers engaged we want to interact with them in a respectful manner. We want to keep the protocol to a minimum.

Step-by-step guide

The ASF infra bot comments on each ticket after the user has issued a pull request

  1. Ensure each PR is a single commit
  2. Ensure project code style rules are followed
  3. Ensure new features include unit/integration tests
  4. Merge (see below)

Physically merging

I have a few origins setup. Apache-push will accept pushes

[edward@jackintosh incubator-gossip]$ git remote -v
apache-push https://git-wip-us.apache.org/repos/asf/incubator-gossip.git (fetch)
apache-push https://git-wip-us.apache.org/repos/asf/incubator-gossip.git (push)
ecap git@github.com:edwardcapriolo/incubator-gossip.git (fetch)
ecap git@github.com:edwardcapriolo/incubator-gossip.git (push)
origin http://git.apache.org/incubator-gossip.git (fetch)
origin http://git.apache.org/incubator-gossip.git (push)

 

Make sure master is clean and up to date

$ git checkout master
$ git pull
$ git reset --hard

 

The JIRA ticket has the pull command inside it.

$ git pull https://github.com/edwardcapriolo/incubator-gossip GOSSIP-44
$ mvn clean install test

If all tests pass, and everything is is good push to master

$ git push apache-push master

For small changes

Sometimes we get a patch that is not perfect. Playing ping-pong with people over typo's or small fixes usually slows things down. Making small changes to the commit before merge is acceptable examples include.

  1. Formatting
  2. Typo
  3. Minor tweaks...
  4. Merge conflicts resulting for patch ordering