ITK/Contribute
From KitwarePublic
< ITK
Jump to navigationJump to search
Revision as of 17:28, 2 January 2019 by Matt.mccormick (talk | contribs)
Please see CONTRIBUTING.md on GitHub .
This page is currently inactive and is retained for historical reference. Either the page is no longer relevant or consensus on its purpose has become unclear. To revive discussion, seek broader input via a forum such as the village pump. |
Short guide for best practices process for contributing to ITK.
Step by step complete documentation provided at
How to develop new patches http://www.itk.org/Wiki/ITK/Git/Develop
Bugs/Feature enhancements best practices guide
- Determine if the contribution is already listed in the bug tracker: http://issues.itk.org
- Add proposed contribution (if necessary) and assign it to yourself (NOTE THE BUG ID link i.e. ITK-2287)
- Create a new branch called "ITK-2287" from the updated git ITK master branch
- Make proposed changes on branch "ITK-2287" and thoroughly test the changes
- Commit changes with a comment that includes the BUGID
- Submit the commit to ITK code review using gerrit-push
- Close the JIRA issue, and include the commit hash key as a comment when closing.
Example
To update the ITK version number, the follow process could be followed:
Create a JIRA issue stating what you want to accomplish. Assign issue to yourself.
git status git checkout master git pullall git checkout -b ITK-2287 origin/master vim CMakeLists.txt # Edit to change the version number git add CMakeLists.txt git commit -m"BUG: Issue resolved for bug ITK-2287" git prepush git gerrit-push
Close the JIRA issue with reference to the commit hash key.
Changing commit history
Git has some powerful tools to refactor the commit history. For example,
git commit --amend
can be used to change the content or commit message from the last commit.
git rebase -i
can be used to merge incremental commits into logical units.
These can be very convenient functions, but they should only be used on a local repository before the changes have been published to a public location.