Mahara UK 2011 – Technical Workshop21st June 2011
How Mahara code revision worksRuslan KabalinMahara UK, 21nd June 2011
Plan for the next 30 minutesWhere Mahara code is located
Old patch submission workflow
Gerrit code revision system
Why do we need to review the code
Revision process
Live demo
Concluding remarksMahara main repositoryhttp://gitorious.org/mahara/mahara(Image from https://launchpad.net/mahara/+series)
How revision was done beforeChange is reviewed and pushed to masterChange is mailedto core developersPatch was submitted using email to the core developers
Core developers reviewed and responded with proposed changes
Only core developers could push changes to master repo.
Those who gained reputation became core developers with push permissionChange appears on master repo
Limitations of the old workflowComplicated workflow
Takes time
No one reviews core developers’ patches
Contributors do not feel involvedGerrit code revision systemIntermediate step between master and your local branch
Web-based collaborative code revision tool

How Mahara code revision works

Editor's Notes

  • #5 As you know Mahara uses Git.
  • #6 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.
  • #8 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).
  • #9 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.
  • #11 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
  • #13 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:
  • #14 PushReviewChange and pushReviewVerifyApprove
  • #15 Fixing, pushing,
  • #19 Thank you