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

Reply via email to