Child pages
  • Merge Pull Request
Skip to end of metadata
Go to start of metadata

Fetch pull requests from upstream

Committers need to review and merge pull requests which are submitted to the GitHub mirror (upstream remote).
To checkout a specific pull request in a separate branch you need to know its ID (<PR_ID>), which is available from https://github.com/apache/incubator-samoa/pulls
You can checkout the pull request in a local branch, typically named after the JIRA issue that tracks the modification (<SAMOA-XX>).

If you followed the configuration advice in Development Environment you can simply checkout the pull request directly as a local branch.

git checkout -b <SAMOA-XX> upstream/pull/<PR_ID>

Otherwise, you can fetch the pull request directly from the upstream remote.

git fetch upstream pull/<PR_ID>/head:<SAMOA-XX>
git fetch upstream pull/PR_ID/head:SAMOA-XX
remote: Counting objects: 1, done.
remote: Compressing objects: 100% (1/1), done.
remote: Total 1 (delta 0), reused 0 (delta 0), pack-reused 0
Unpacking objects: 100% (1/1), done.
From github.com:apache/incubator-samoa
* [new ref] refs/pull/PR_ID/head -> SAMOA-XX

Now you can test the pull request locally.

Merge a pull request

Once you are happy with the changes in a pull request and are ready to merge it, you need to: checkout the PR branch (see above), rebase on the current master, and push it to the official Apache git repository.
In this example, I assume the change is a code change applied to master. For documentation changes the process is the same but applied to the gh-pages branch. Additionally, you need to publish the website as described in Publish Website.

First, fetch the PR as explained above. Make sure your master is up to date, then rebase the PR branch on master if needed.

git checkout <SAMOA-XX>
git rebase master

At this point double check that the commit messages are in the proper format and that the PR contains no merge commits to keep linear git history.

Now if there are no conflicts and the tests are passing, you are ready to push the commits to the official Apache repository.

git push apache <SAMOA-XX>:master

Congratulations! You are done (smile)

If you committed to the gh-pages branch remember to publish the updated website.