Version 4 (modified by 13 years ago) ( diff ) | ,
---|
Contributing to WebKit using GitHub (Proposal)
TODO: Add an overview for what you might want to do this.
Setup
- Create a GitHub account (if you don't already have one)
- Fork https://github.com/WebKit/webkit
$ git clone git@github.com:yourname/webkit.git
Writing code
$ git checkout master -b awesomefeature
- Write some awesome code.
- Commit locally and push to origin (your GitHub account) as you normally would with git.
Tracking upstream
- One-time setup:
$ git remote add upstream git://github.com/WebKit/webkit.git
$ git fetch upstream
$ git merge upstream/master
$ git push origin master
If you never modify your local master branch, merging upstream/master will always be a fast-forward merge (i.e., no merge conflicts). You can then merge these new commits into your in-flight feature branches as you normally would with git.
Getting your code reviewed
- Find a reviewer who is interested in reviewing your awesome feature.
- Create a pull request by going to https://github.com/yourname/webkit/pull/new/awesomefeature
- Click the "Change Commits" button to select that reviewer's base branch of WebKit.
- Write a helpful description of your pull request and click "Send pull request".
- Iterate with the reviewer as usual using GitHub's review tools.
TODO: Investigate whether we can make reviewers members of the "WebKit" organization so you can just use WebKit/webkit@master as the base branch.
Landing a patch
If we're going to use this process, we'd want to teach webkit-patch how to automate this process.
- If you're landing a patch for someone else, first download and apply the patch:
$ curl https://github.com/yourname/webkit/pull/7.patch | git am
$ ./Tools/Scripts/webkit-patch upload --no-review
- Fill in the ChangeLog description from the pull request, and fill out the "Reviewed by" line based on who reviewed your patch. (Please include a link to the pull request in case folks want to read the discussion.)
- Go to the https://bugs.webkit.org/ bug for your patch and set the commit-queue+ flag. (If you're not a committer, you'll need to ask a committer to set that flag for you.)
Note:
See TracWiki
for help on using the wiki.