On 08/10/2011 12:00 AM, Mark Nottingham wrote: > Just a question/thought -- has there been any discussion with the GitHub > folks about whether the deficiencies you talk about are on their roadmap, and > if not, can we get them addressed? E.g., if they put in hooks at the > appropriate places in their pull request system...
Yes. This was the first thing that we did. > On 09/08/2011, at 4:50 AM, Jay Pipes wrote: > >> Hello all, >> >> tl;dr >> ======= >> >> Contributors have been giving Monty Taylor and Jim Blair feedback on >> the Gerrit code review system over the last few weeks. Both the >> Keystone and Glance projects have now migrated to using Git as their >> source control system and Gerrit for code review and integration into >> the Jenkins continuous integration system. >> >> Tomorrow, the Project Policy Board (PPB) will be voting on two things: >> >> 1) Should OS projects >> a) have a vetted set of options for hosting and review, or >> b) be required to use a single toolset for review and hosting >> 2) Shall Gerrit+Git be included in the set of vetted options or be the >> single option (dependent on the vote result for 1) above) >> >> Feedback on #2 is most welcome. Please feel free to respond to this >> email, catch us on IRC or email me directly. >> >> Links: >> >> Working with Gerrit: http://wiki.openstack.org/GerritWorkflow >> Code Review in Gerrit: http://review.openstack.org >> >> Details >> ======= >> >> Over the last few weeks, Monty Taylor and Jim Blair have been working >> with a number of OpenStack contributors to gather feedback on a >> Git-based development workflow, toolset, and review process. >> >> First, Monty and Jim investigated whether GitHub's pull request system >> would be sufficient to enforce existing code review and approval >> policies. It was determined that GitHub's pull request system was not >> sufficient. The main reason why the pull request system failed to meet >> needs is that there is no overall way to track the current state of a >> given pull request. While this is fine for the simple case (merge >> request is accepted and merged) it starts to fall over with some of >> the more complex back and forths that we wind up having in many >> OpenStack projects. Additionally, this assessment was predicated on >> the current design of a gated trunk with an automated patch queue >> manager, and a system where a developer is not required to spend time >> landing a patch (other than potential needs for rebases or changes due >> to code review). >> >> Monty and Jim then decided to set up a Gerrit server for code review >> and CI integration at http://review.openstack.org. Gerrit is a tool >> developed by Google to address some of the functionality the Android >> Open Source team needed around automated patch queue management and >> code reviews. >> >> The first project that moved from Launchpad to Gerrit/Git was the >> openstack-ci project. This is the glue code and scripts that support >> the continuous integration environment running on >> http://jenkins.openstack.org. >> >> After gaining some experience with Gerrit through the migration of >> this project from Launchpad, the next OpenStack subproject to move to >> the Gerrit platform was the Keystone incubated project. Keystone was >> already using git for source control and was on GitHub, using GitHub's >> Issues for its pull requests and bug tracking. However, the Keystone >> source code was not gated by a non-human patch queue management >> system; a Keystone developer would manually merge proposed branches >> into the master Keystone source tree, and code reviews were not passed >> through any automated tests on http://jenkins.openstack.org. Monty and >> Jim worked with Dolph, Yogi, Ziad, and other Keystone developers to >> get their code reviews done via Gerrit and get their unit and >> functional tests running on each commit through Jenkins. There were a >> few hiccups along the way, but the hiccups served as valuable lessons >> and were documented in the workflow wiki page >> http://wiki.openstack.org/GerritWorkflow. >> >> Last Thursday morning, the Glance project was migrated from Bazaar and >> Launchpad code hosting to use Git and Gerrit. The migration went >> pretty smoothly, and a number of Glance developers have already been >> proposing, reviewing, and approving code via Gerrit. Launchpad is used >> for all bug tracking and blueprint management, still, but the code at >> http://code.launchpad.net/glance is merely a read-only mirror of the >> git repository. >> >> Outstanding Issues/Questions >> ===================== >> >> 1) John Dickinson and Chuck Thier raised the question that if Gerrit >> is going to be the (or one of the) proposed code review and patch >> management system, that hosting Git repositories on GitHub might be >> confusing for GitHub users, since most would expect to use pull >> requests to merge their own code back into the project's master repo. >> This is a valid concern and Monty and Jim are investigating >> establishing a GitWeb or Gitorious server on http://git.openstack.org >> that would serve as the canonical Git repo locations for OpenStack >> projects instead of GitHub. This would be similar to how >> http://git.kernel.org works >> >> 2) Only code hosting has been moved to Git/Gerrit. There are currently >> no plans to discuss moving bug tracking for existing OpenStack core >> projects to GitHub Issues. Gerrit is fully integrated with Launchpad >> bug tracking. This means that Gerrit *will close* (mark Fix Committed) >> Launchpad bugs if you include bug text in your commit message. >> >> 3) The user interface for Gerrit is UGLY. I don't think anyone would >> disagree with that. :) That said, Gerrit's UI can be modified via CSS >> and templates without having to keep a separate fork of Gerrit. If you >> are interested in helping Monty and Jim make the Gerrit UI prettier >> and saving reviewers eyeballs, please do contact me. >> >> Cheers, >> -jay >> >> _______________________________________________ >> Mailing list: https://launchpad.net/~openstack >> Post to : [email protected] >> Unsubscribe : https://launchpad.net/~openstack >> More help : https://help.launchpad.net/ListHelp > > -- > Mark Nottingham http://www.mnot.net/ > > > > > _______________________________________________ > Mailing list: https://launchpad.net/~openstack > Post to : [email protected] > Unsubscribe : https://launchpad.net/~openstack > More help : https://help.launchpad.net/ListHelp > _______________________________________________ Mailing list: https://launchpad.net/~openstack Post to : [email protected] Unsubscribe : https://launchpad.net/~openstack More help : https://help.launchpad.net/ListHelp

