109 lines
3.0 KiB
Plaintext
109 lines
3.0 KiB
Plaintext
Submitting patches to the OpenOCD Gerrit server:
|
|
|
|
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
|
|
|
|
|
|
0. Create a Gerrit account at:
|
|
|
|
http://openocd.zylin.com
|
|
|
|
- On subsequent sign ins, use the full URL prefaced with 'http://'
|
|
For example:
|
|
|
|
http://user_identifier.open_id_provider.com
|
|
|
|
0.1. Add a username to your profile.
|
|
|
|
After creating the Gerrit account and signing in, you will need to
|
|
add a username to your profile. To do this, go to 'Settings', and
|
|
add a username of your choice.
|
|
|
|
Your username will be required in step 2 and substituted wherever
|
|
the string 'USERNAME' is found.
|
|
|
|
0.2. Add an SSH public key
|
|
|
|
Following the directions for your specific platform:
|
|
|
|
for Windows: help.github.com/win-set-up-git/#_set_up_ssh_keys
|
|
for OSX: help.github.com/mac-set-up-git/#_set_up_ssh_keys
|
|
for Linux: help.github.com/linux-set-up-git/#_set_up_ssh_keys
|
|
|
|
While these pages describe the setting up of git as well,
|
|
you should scroll down the page till you get to the section:
|
|
'Next: Set Up SSH Keys', and follow the steps described.
|
|
|
|
1. Clone the git repository, rather than just
|
|
download the source.
|
|
|
|
git clone git://openocd.git.sourceforge.net/gitroot/openocd/openocd
|
|
|
|
or if you have problems with the "git:" protocol, use
|
|
the slower http protocol:
|
|
|
|
git clone http://repo.or.cz/r/openocd.git
|
|
|
|
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"
|
|
|
|
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 -s -a" to commit all changes.
|
|
}
|
|
|
|
TIP! use "git add ." before commit to add new files.
|
|
|
|
--- example comment, notice the short first line w/topic ---
|
|
topic: short comment
|
|
<blank line>
|
|
longer comments over several
|
|
lines...
|
|
-----
|
|
|
|
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 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:
|
|
|
|
git commit --amend
|
|
git push review
|
|
|
|
Further reading:
|
|
|
|
http://www.coreboot.org/Git |