Mahara started to use Gerrit code revision system recently. All proposed changes to master branch of the project now go through the compulsory revision process that requires approval of the change by the other developers. Adding this revision step in the code committing workflow improves the quality of the committed code and team awareness about the changes and new features. It allows absolutely anyone to contribute to Mahara by committing the patch or new feature directly to the code revision system, getting feedback from the core developers and other people and participate in code revision themselves. Making participation in development process simpler could attract more people to Mahara developers’ community and make Mahara better.
The presentation will demonstrate how code revision works. It will display the whole way of the patch from creation on developer’s local system to the merge into master branch through revision and validation. The presentation will cover how to use Gerrit interface, best practices in revision system use, as well as most common scenarios that may occurs during revision process.
22. For your git repo it is just another remote branch** git remote add gerrit ssh://user@reviews.mahara.org:29418/mahara
23. Gerrit simplified workflow Change is pushed to gerrit repo Change appears on revision interface Change is being reviewed Change needs to be updated and resubmitted Change is merged to main repo Reviewed & verified? Yes No
33. Active contributors with good reputation will become core developers* Just do some initial dev tools set up: https://wiki.mahara.org/Developer_Area/Developer_Tools
43. Every new patch should be applied on top of the clean checked-out branch to avoid adding dependencies in error
44. When reviewing a series of related patches, keep in mind that the patches after the first rejected one will need to be reviewed againFrom the April IRC dev meeting: http://meetbot.mahara.org/mahara-dev/2011/mahara-dev.2011-04-20-19.40.html
Now and then. Details of the workflow. Before the contribution was done through patch submission over email to core developers team, after a while when developer gained some reputation, the main repository commit permission was granted. Thus only core developers were able to push changes to the main repo.
On Mahara-dev meeting in February, Francois suggested to try using gerrit for code revision.Essentially gerrit revision system is intermediate step on the way of the patch between the master repository and your local branch. It is a web-based collaborative tool for code revision that works with Git. Gerrit was originally a patch-set to Rietveld (subversion) designed for facilitating code revision in Android project. From git perspective, gerrit is just another remote branch which one can push changes (thanks to git distributed version control).
Once the change is pushed, it is being shown on Gerrit web-interface. After the change has been revised and verified it is being merged into main repo automatically by gerrit. Permissions to push directly to the main repository has been revoked from everyone.
Accept contributions from members of Mahara community more easy.Anybody can submit the change, get feedback from core developers and participate in revision. Just get an account, push your change and get feedback right on the gerrit web-interface.No need to have special rightsCreate get account, set up tools and submit the bug-fix or the feature
Time to show gerrit interface. List of chnages.Sections. Change-id. Patchsets. Dependencies. Tags. Merged and Abandoned changes.Handy documentation. (search commands:) commit: change: owner: