46 lines
1.8 KiB
Markdown
46 lines
1.8 KiB
Markdown
|
# How to Contribute
|
||
|
|
||
|
We'd love to accept your patches and contributions to this project. There are
|
||
|
just a few small guidelines you need to follow.
|
||
|
|
||
|
## Contributor License Agreement
|
||
|
|
||
|
Contributions to this project must be accompanied by a Contributor License
|
||
|
Agreement. You (or your employer) retain the copyright to your contribution;
|
||
|
this simply gives us permission to use and redistribute your contributions as
|
||
|
part of the project. Head over to <https://cla.developers.google.com/> to see
|
||
|
your current agreements on file or to sign a new one.
|
||
|
|
||
|
You generally only need to submit a CLA once, so if you've already submitted one
|
||
|
(even if it was for a different project), you probably don't need to do it
|
||
|
again.
|
||
|
|
||
|
## Code reviews
|
||
|
|
||
|
All submissions, including submissions by project members, require review. We
|
||
|
use [Dawn's Gerrit](https://dawn-review.googlesource.com/) for this purpose.
|
||
|
|
||
|
Submissions should follow the [Tint style guide](docs/style_guide.md).
|
||
|
|
||
|
## Pushing to Gerrit
|
||
|
|
||
|
Each change requires a `Change-Id` field in the commit message, which is generated by the [Gerrit commit-msg hook](](https://gerrit-review.googlesource.com/Documentation/cmd-hook-commit-msg.html)). \
|
||
|
In a bash terminal, with the current path set to your tint source tree, this can be obtained by running the following:
|
||
|
|
||
|
```bash
|
||
|
f=`git rev-parse --git-dir`/hooks/commit-msg ; mkdir -p $(dirname $f) ; curl -Lo $f https://gerrit-review.googlesource.com/tools/hooks/commit-msg ; chmod +x $f
|
||
|
```
|
||
|
|
||
|
If you've already locally committed a change without the `Change-Id`, running `git commit --amend` will add the missing `Change-Id`.
|
||
|
|
||
|
To create a Gerrit change for review, type:
|
||
|
|
||
|
```bash
|
||
|
git push origin HEAD:refs/for/main
|
||
|
```
|
||
|
|
||
|
## Community Guidelines
|
||
|
|
||
|
This project follows
|
||
|
[Google's Open Source Community Guidelines](https://opensource.google.com/conduct/).
|