docs: update HACKING to point to Gerrit

Change-Id: If79e86c731ac06aaefca1aebde40e7cb3de68e4d
Signed-off-by: Øyvind Harboe <oyvind.harboe@zylin.com>
This commit is contained in:
Øyvind Harboe 2011-10-12 20:21:18 +02:00
parent cf692abe83
commit 4e80a9128e
1 changed files with 44 additions and 17 deletions

61
HACKING
View File

@ -1,13 +1,22 @@
Submitting patches to the OpenOCD mailing list: Submitting patches to the OpenOCD Gerrit server:
By the time you have read this, one supposes that OpenOCD is to some extent a "self service" open source project, so to
you have figured out how to clone the OpenOCD git contribute, you must follow the standard procedures to have the best
repository. possible chance to get your changes accepted.
Below is a basic workflow and specific instructions The procedure to create a patch is essentially:
to get you going with git and patches.
0. Clone the git repository, rather than just - make the changes
- create a commit
- send the changes to the Gerrit server for review
- correct the patch and re-send it according to review feedback
0. Create a Gerrit account at:
http://openocd.zylin.com
1. Clone the git repository, rather than just
download the source. download the source.
git clone git://openocd.git.sourceforge.net/gitroot/openocd/openocd git clone git://openocd.git.sourceforge.net/gitroot/openocd/openocd
@ -17,19 +26,32 @@ the slower http protocol:
git clone http://repo.or.cz/r/openocd.git git clone http://repo.or.cz/r/openocd.git
1. Set up git with your name and email: 2. Set up Gerrit with your local repository. All this does it
to instruct git locally how to send off the changes.
Add a new remote to git using Gerrit username:
git remote add review ssh://USERNAME@openocd.zylin.com:29418/openocd.git
git config remote.review.push HEAD:refs/for/master
You will need to install this hook, we will look into a better
solution:
scp -p -P 29418 USERNAME@openocd.zylin.com:hooks/commit-msg .git/hooks/
3. Set up git with your name and email:
git config --global user.name "John Smith" git config --global user.name "John Smith"
git config --global user.email "john@smith.org" git config --global user.email "john@smith.org"
2. Work on your patches. Split the work into 4. Work on your patches. Split the work into
multiple small patches that can be reviewed and multiple small patches that can be reviewed and
applied seperately and safely to the OpenOCD applied seperately and safely to the OpenOCD
repository. repository.
while(!done) { while(!done) {
work - edit files using your favorite editor. work - edit files using your favorite editor.
run "git commit -a" to commit all changes. run "git commit -s -a" to commit all changes.
} }
TIP! use "git add ." before commit to add new files. TIP! use "git add ." before commit to add new files.
@ -41,16 +63,21 @@ longer comments over several
lines... lines...
----- -----
3. Next you need to make sure that your patches 5. Next you need to make sure that your patches
are on top of the latest stuff on the server and are on top of the latest stuff on the server and
that there are no conflicts. that there are no conflicts.
git pull --rebase git pull --rebase origin/master
4. Generate the patch files. This will generate 6. Send the patches to the Gerrit server for review.
patches for all commits that are on top of
the latest stuff on the server:
git format-patch origin/master git push review
5. Email the patches to openocd-development@lists.berlios.de 7. Forgot something, want to add more? Just make the changes and do:
git commit --amend
git push review
Further reading:
http://www.coreboot.org/Git