aboutsummaryrefslogtreecommitdiff
path: root/HACKING
diff options
context:
space:
mode:
authorØyvind Harboe <oyvind.harboe@zylin.com>2011-10-12 20:21:18 +0200
committerØyvind Harboe <oyvind.harboe@zylin.com>2011-10-12 20:23:18 +0200
commit4e80a9128e69d67d8aed8e5a83995246913bc98a (patch)
treed8fd0ab6c6a70eefd5013a33f51ce9d11ecb0de5 /HACKING
parentcf692abe83a90f74cb21b1864f348cd52fe26454 (diff)
docs: update HACKING to point to Gerrit
Change-Id: If79e86c731ac06aaefca1aebde40e7cb3de68e4d Signed-off-by: Øyvind Harboe <oyvind.harboe@zylin.com>
Diffstat (limited to 'HACKING')
-rw-r--r--HACKING61
1 files changed, 44 insertions, 17 deletions
diff --git a/HACKING b/HACKING
index 6e4fc4b3..42c50f0a 100644
--- a/HACKING
+++ b/HACKING
@@ -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
-you have figured out how to clone the OpenOCD git
-repository.
+OpenOCD is to some extent a "self service" open source project, so to
+contribute, you must follow the standard procedures to have the best
+possible chance to get your changes accepted.
+
+The procedure to create a patch is essentially:
+
+- 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
+
-Below is a basic workflow and specific instructions
-to get you going with git and patches.
+0. Create a Gerrit account at:
-0. Clone the git repository, rather than just
+http://openocd.zylin.com
+
+1. Clone the git repository, rather than just
download the source.
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
-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.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
applied seperately and safely to the OpenOCD
repository.
while(!done) {
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.
@@ -41,16 +63,21 @@ longer comments over several
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
that there are no conflicts.
-git pull --rebase
+git pull --rebase origin/master
+
+6. Send the patches to the Gerrit server for review.
+
+git push review
+
+7. Forgot something, want to add more? Just make the changes and do:
-4. Generate the patch files. This will generate
-patches for all commits that are on top of
-the latest stuff on the server:
+git commit --amend
+git push review
-git format-patch origin/master
+Further reading:
-5. Email the patches to openocd-development@lists.berlios.de
+http://www.coreboot.org/Git \ No newline at end of file