Portlet Bridge | Process for Handling Pull Requests

    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.

    • CLA
      • 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.
    • JIRA
      • 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

    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
    

    Final Steps

    • 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