|
@@ -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. |
|
|
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 |
|
|
|
|
|
|
|
|
|
|
|
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 |