Join GitHub today
GitHub is home to over 28 million developers working together to host and review code, manage projects, and build software together.Sign up
Merging Pull Requests
Clone this wiki locally
Merging pull requests is usually straight forward, especially if the author has followed the Contributing instructions, as the only real rules for pushing to master are:
- Whitespace should be correct - tabs rather than spaces and windows-style (CRLF) line endings
- Ensure the ant build passes
Doing a sanity check
Before beginning the merge it's best to do a quick sanity check by opening up the pull request on the github site. Things to check for here are:
- Is the pull request coming from the author's master branch - if so this could indicate they haven't read the Contributing page and the request may contain a large number of unrelated commits rather than a specific feature or fix for an issue.
- Look at the Diff tab and check whether any of the non-provider specific files have changed e.g. mxn.js, mxn.core.js as changes to these file carry the risk of breaking all providers rather than just one.
- Perform a cursory check of the code on the Diff tab looking for things like addition of a feature only supported by one provider, any obvious breaking changes and any commented out or debug code (usually and alert() or console.log() call)
If you notice any issues reply to the pull request letting the author know, add comments to specific lines on the Diff tab if appropriate.
Performing the merge
Instructions for performing a manual merge can be found on each pull request page by clicking the "i" on the "automatic merge" banner. The process is:
Step 1: Check out a new branch to test the changes — run this from your project directory
git checkout -b [merge branch name] master
Step 2: Bring in changes for pull request and test using one of the automated test runner html pages if appropriate
git pull [authors fork url] [author's branch to pull from]
Step 3: If required, amend code to ensure formatting is correct and ant build passes then commit your changes
git commit -m '[commit message]'
Step 4: Merge the changes and update the server
git checkout master
git merge [merge branch name]
git push origin master
I would strongly advise against using the github site's Merge button to merge straight into master. If you want to perform a merge this way I suggest switching to the integration branch first, clicking "Merge" on the pull requests you want to bring in and then following the above merge process from the integration branch rather than each individual pull.