docs: update HACKING to point to Gerrit
[openocd/dsp568013.git] / HACKING
blob42c50f0a7aec223ade6f4d2d1904c2c03ac403d1
1 Submitting patches to the OpenOCD Gerrit server:
3 OpenOCD is to some extent a "self service" open source project, so to
4 contribute, you must follow the standard procedures to have the best
5 possible chance to get your changes accepted.
7 The procedure to create a patch is essentially:
9 - make the changes
10 - create a commit
11 - send the changes to the Gerrit server for review
12 - correct the patch and re-send it according to review feedback
15 0. Create a Gerrit account at:
17 http://openocd.zylin.com
19 1. Clone the git repository, rather than just
20 download the source. 
22 git clone git://openocd.git.sourceforge.net/gitroot/openocd/openocd
24 or if you have problems with the "git:" protocol, use
25 the slower http protocol:
27 git clone http://repo.or.cz/r/openocd.git
29 2. Set up Gerrit with your local repository. All this does it
30 to instruct git locally how to send off the changes.
32 Add a new remote to git using Gerrit username:
34 git remote add review ssh://USERNAME@openocd.zylin.com:29418/openocd.git
35 git config remote.review.push HEAD:refs/for/master
37 You will need to install this hook, we will look into a better
38 solution:
40 scp -p -P 29418 USERNAME@openocd.zylin.com:hooks/commit-msg .git/hooks/
42 3. Set up git with your name and email:
44 git config --global user.name "John Smith"
45 git config --global user.email "john@smith.org"
47 4. Work on your patches. Split the work into 
48 multiple small patches that can be reviewed and
49 applied seperately and safely to the OpenOCD
50 repository.
52 while(!done) {
53   work - edit files using your favorite editor.
54   run "git commit -s -a" to commit all changes. 
57 TIP! use "git add ." before commit to add new files.
59 --- example comment, notice the short first line w/topic ---
60 topic: short comment
61 <blank line>
62 longer comments over several
63 lines...
64 -----
66 5. Next you need to make sure that your patches
67 are on top of the latest stuff on the server and
68 that there are no conflicts.
70 git pull --rebase origin/master
72 6. Send the patches to the Gerrit server for review.
74 git push review
76 7. Forgot something, want to add more? Just make the changes and do:
78 git commit --amend
79 git push review
81 Further reading:
83 http://www.coreboot.org/Git