This article describes the tasks for project developers to manage GitHub pull requests from contributors.
Do NOT use the GitHub Pull Request merge facilities. This creates merge commits that we want to avoid.
Handling a Pull Request
This section describes how to process a pull request from a community member or another project developer.
- All non-employee contributors to Portlet Bridge must sign the JBoss Contributor License Agreement for the JBoss Portlet Bridge project.
- Please ensure community members have signed this before processing a pull request from them.
- A pull request requires a corresponding JIRA related to the modifications within the pull request.
- The JIRA should be linked to the pull request by following the instructions in Portlet Bridge | Development Workflow
- Make sure your local repo is up to date with the latest from Portlet Bridge before processing a pull request
- Follow the instructions in Portlet Bridge | Development Workflow
Add git remote reference to pull request
$ git remote add username userRepositoryLocation
Create branch and fetch pull request
$ git fetch username $ git checkout -b PBR-XXX remotes/username/PBR-XXX
Verify and Test pull request
Verify that the branch containing the pull request builds and passes all tests:
$ mvn clean install
At this point:
- Review all updates
- Check code style and other standards
Use GitHub pull request comments, or any other communication needs, as necessary, to communicate with the contributor until the pull request is acceptable in quality and consistent with the projects coding standards.
Push updates upstream
$ git checkout master # for simple or single commit updates $ git merge PBR-XXX
Verify on master branch that build and tests are successful:
$ mvn clean install
Push to origin repo:
$ git push origin master $ git push upstream master
- Close the pull request on GitHub
- This may occur automatically based on the push, but worth verifying
- Resolve JIRA
- And assign to appropriate fixVersion if there is not one set