Skip to content
This repository was archived by the owner on Mar 24, 2022. It is now read-only.

Pull Request Guide

Jignesh Patel edited this page Mar 30, 2016 · 5 revisions

How to create a Pull Request

If this is your first time creating a pull request, follow these steps to make the process easier.

Before you make a request

You can always read previous pull requests to understand the process. For example, this pull request needed improvement. Below are the distilled lessons for first-timers on the Quickstep project:

  1. Make a small change. This means that your code should be at most 500 lines. Don't be afraid to go too small either. Adding a single function or improving a comment is fine and will probably be accepted very quickly.
  2. Stay sync'd with Master. A pull request will be merged with the master branch. This means that your custom branch must be up to date with master. This means you will have to do a merge or a rebase to sync with master if needed.
  3. Follow style conventions. We follow Google's C++ [style guide] (https://github.com/pivotalsoftware/quickstep/wiki/Quickstep-Style-Guide), with a couple exceptions. It's important that running the script third_party/cpplint/lint_everything.py finds no errors. Any errors, and you will get some stern looks from the reviewers. Even the Doxygen comment format is important. For more details, read this guide.
  4. Pass the other check scripts. You must pass validate_cmakelists.py and cyclic_dependency.py or you will fail the Travis build. To see exactly what Travis does, check the .travis.yml file.
  5. Pass the unit tests. A good way to run all the unit tests is to go in your build folder and run ctest. You can also run individual tests or tests based on regex matching with ctest -R your_regex.

Creating a request

  1. Make a Description. Explain the purpose and summary of the changes you made in the header for the PR on github.
  2. Assign a reviewer. Reviewers are Quickstep folks who have already submitted a few pull requests themselves.
  3. Keep watching. Github is fairly pushy when it comes to notifications, so this probably won't be an issue. If nobody has responded within 3 days, comment and link a reviewer with github's '@' syntax.

Happy pulling!

Clone this wiki locally