blob: b20b39a15e82df7c792ba7eab08d30e2acee850c [file] [log] [blame] [view]
lowRISC Contributors802543a2019-08-31 12:12:56 +01001# Contributing code to the opentitan repository
2
3## Quick guidelines
4
5* Keep a clean commit history. This means no merge commits, and no long series
6 of "fixup" patches (rebase or squash as appropriate). Structure work as a
7 series of logically ordered, atomic patches. `git rebase -i` is your friend.
8* Changes should be made via pull request, with review. Do not commit until
9 you've had an explicit "looks good to me". We don't yet have, but plan to
10 create a policy describing code owners and the like. In the meantime use your
11 best judgement. If you're submitting a change against something that was 90%
12 authored by a single person, you'll want to get their ACK before committing.
13* When changes are restricted to a specific area, you are recommended to add a
14 tag to the beginning of the first line of the commit message in square
15 brackets. e.g. "[UART] Fix bug #157".
16* Code review is not design review and doesn't remove the need for discussing
17 implementation options. If you would like to make a large-scale change or
18 discuss multiple implementation options, discuss on the mailing list.
19* Create pull requests from a fork rather than making new branches in
20 `github.com/lowrisc/opentitan`.
21* Do not force push.
22* Do not attempt to commit code with a non-Apache license without discussing
23 first.
24* If a relevant bug or tracking issue exists, reference it in the pull request
25 and commits.