Skip to content
This repository has been archived by the owner on Feb 22, 2018. It is now read-only.

Contributing

sethladd edited this page Oct 27, 2014 · 2 revisions

TODO: This doc just describes the workflow for Dart team members. Need to expand it to include external contributors too. External patches are definitely welcome! Just fork and submit a pull request like you normally would.

Open a bug before a patch

It's always best to open an issue before sending a Pull Request. Explain the issue (either bug or feature) and provide use cases and examples. It's very helpful to justify the work before spending time on the patch. Sometimes, the team has already considered a feature and decided against it (for whatever reason) and we'd hate to have you spend time on something that doesn't work in the grand scheme of things.

If it's a trivial fix, like a spelling mistake, sending a Pull Request without first opening an issue is fine.

Tests required

We love patches and contributions, but we ask that a Pull Request contain a test. This project has a test runner (test.py) which doesn't require any special setup beyond the App Engine SDK.

If it's a trivial fix, like a spelling mistake, then no test is required. When in doubt, ask first.

The patch workflow

  1. Create a feature branch for your change:

    $ git checkout -b awesome-feature
    
  2. Write your awesome codezzz:

    hack hack hack

  3. Commit your changes locally:

    $ git commit -m "So awesome codes."
    
  4. Go to 2 until you're done coding.

  5. Push your branch to github:

    $ git push -u origin awesome-feature
    
  6. Create a pull request and get code review feedback.

  7. Respond to the feedback by making changes, then push them up:

    $ git commit -m "Made suck less."
    $ git push
    
  8. Get more feedback and go to 7. Once you get the LGTM, merge the branch and resolve the pull request. You can go through github, or pull the branch down and merge locally. Whatever you prefer.

  9. Delete the branch.

    $ git push origin :awesome-feature
    $ git branch -d awesome-feature
    
  10. Celebrate.

Clone this wiki locally