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

Compare with Current View Page History

« Previous Version 5 Next »

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, 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.

git checkout -b <SAMOA-XX> upstream/pull/<PR_ID>
git rebase apache/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. To make sure that GitHub automatically closes the PR, add “Fix #PR_ID” at the end of the last commit message.

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.

  • No labels