Upload
libriotech
View
1.040
Download
1
Embed Size (px)
DESCRIPTION
Proposed talk for the Helsinki Midwinter Darkness Camp 19th–20th January 2011. Meant to be a reminder about some of the important things to keep in mind when submitting code to the Koha project - and as an example of things to keep in mind when submitting code to any large free software project.
Citation preview
Contributing to KohaMagnus Enger
libriotech.no
Please note!
●http://koha-community.org/ is the current website for the Koha project.
● Avoid any and all sites at http://*.koha.org/ - they are not updated according to the wishes of The Koha Community.
Many ways to contribute● Report bugs● Verify bugs● Fix bugs● Create new features/enhancements● Test and sign off on patches● Write documentation, add to the wiki● Translate● Answer questions on mail-lists and IRC● Etc, etc...
Hacking Koha!
● Fixing bugs● Creating new features/enhancements
Two guiding principles: ● Announce what you will work on● Release early, release often
http://wiki.koha-community.org/wiki/Enhancement_Request_Guidelines
Bugzilla - bugs.koha-community.org● Always start by adding a bug report, both for
bugs and enhancements
http://wiki.koha-community.org/wiki/Bug_Reporting_Guidelines
Wiki - wiki.koha-community.org
● Creating an enhancement? ● You should probably do an RFC on the wiki
● (Request For Comments)● Unless it's something really small● http://wiki.koha-community.org/wiki/Category:RFCs
Start working!
● Use the Git, Luke! ● Develop on a branch (named after your bug)● http://wiki.koha-community.org/wiki/Version_Control_Using_Git
● Publish your WIP (Work In Progress) ● In a public Git repository● http://wiki.koha-community.org/wiki/Public_Git_Repositories
● git clone http://git.koha-community.org/koha.git kohaclone
● cd kohaclone
● git checkout -b mywork origin
● Work, work, work● http://wiki.koha-community.org/wiki/Coding_Guidelines
● git add somefile.pl
● git commit ● Use the bug number in the first line of the commit
message
● git format-patch origin
● git send-email 0001-filename● [email protected]
● Attach the patch to the bug in Bugzilla● Change the Importance of the bug to "Patch
sent" and Patch Status to "Needs Signoff"
What happens next?
● Someone must test and sign off on your patch and change the status to ● "Does not apply" or● "Signed Off" ● http://wiki.koha-community.org/wiki/Sign_off_on_patches
● Then it is pushed to the main Koha Git repository, as a separate branch
And after that?
● If the person in charge of QA is not happy with what you have done, Patch Status is changed to ● "Failed QA"
● Otherwise, if the Release Manager too is happy with your work, the branch (patch) is merged into Koha and Patch Status is set to ● "Patch Pushed"
You're not done yet, though!
● Update your Koha clone● Check that everything works as expected● Set the Status of the bug to "RESOLVED
FIXED"● Congratulations!
Things to remember
● Your patch should apply cleanly to the HEAD of master● Rebase on master and resubmit your patch if
changes in master makes the patch not apply any longer
● If you have fixed a bug, it should also apply cleanly to the HEAD of the maintenance branch (currently 3.2.x) ● Submit a separate patch for 3.2.x if you have to
Furthermore, I think MARC must be destroyed.
marc-must-die.info