[vtk-developers] VTK code review / testing / integration workflow

Aashish Chaudhary aashish.chaudhary at kitware.com
Tue Aug 26 16:09:09 EDT 2014


On Tue, Aug 26, 2014 at 4:04 PM, Berk Geveci <berk.geveci at kitware.com>
wrote:

> I disagree. Gerrit does not support any of the "nice to have"s in a
> straightforward way. Neither does vanilla Gerrit properly support "branch
> / topic based workflow" in a straightforward way. It supports a changeset
> based workflow and "branch / topic" based workflows have to be shoehorned
> into it if a "branch / topic" has more than 1 changeset. Also to support
> automated testing of branch tips, we would have to create custom
> scaffolding since vanilla Gerrit has no such concept.
>
> Gerrit, with a little help from cdash @ home does a decent job of the
> following:
>
> - Automated testing before merge (required to pass)
> - Assign reviewers to topic
> - Review / approval before merge (required to pass)
> - Ability to go back to discussion leading to merge (audit trail)
> - Automatic notification on change
> - Ability to comment on the code (Web GUI preferred)
>
> It clearly doesn't do any of this:
>
> - Tight integration with issue (bug) tracking and release process
> - Integration with Wiki
> - Easy documentation / Markdown /rST support
> - Easy way to generate single view of all changes in the Web GUI
>
> In my opinion, it does a very poor job of these:
>
> - Branch / topic based workflow
> - Ease of use
>
> The other requirements and nice-to-haves are independent of tools and can
> be achieved using whatever tool. However, Mantis is also not the easiest
> tool so replacing it is also a good idea.
>
> In my opinion, the biggest weaknesses of Github and Gitlab are:
>
> - Assign reviewers to topic
> - Review / approval before merge (required to pass)
> - Ability to go back to discussion leading to merge (audit trail)
>
> They don't have a clear voting system and are based on more a general
> discussion workflow. We would have to create some guidelines on how to
> achieve these in those tools. For example, someone doing a pull request
> would have to add a comment mentioning potential reviewers with the @name
> syntax to "assign reviewers". The reviewers would have to use some
> previously agreed upon language to approve a topic in the discussion.
> Something like "Approved for merge".
>
> Github is far superior to Gerrit in these:
>
> - Branch / topic based workflow
> - Automated testing before merge (required to pass) - tight integration
> with Travis and demonstrated integration with cdash @ home through custom
> hooks
> - Automatic notification on change - much finer notification control
> - Ability to comment on the code (Web GUI preferred) - go check it out if
> you don't believe me
> - Tight integration with issue (bug) tracking and release process
> - Ease of use
> - Integration with Wiki
> - Easy documentation / Markdown /rST support
> - Easy way to generate single view of all changes in the Web GUI - this is
> impossible in Gerrit even for a single changeset
>
> +1 for the nice assessment.  I have a memory of similar thought from some
other developers outside Kitware on this.

Best,
> -berk
>
>
>
>
>
> On Tue, Aug 26, 2014 at 3:43 PM, Bill Lorensen <bill.lorensen at gmail.com>
> wrote:
>
>> +1 and Gerrit seems to support them all.
>>
>>
>> On Tue, Aug 26, 2014 at 3:32 PM, Berk Geveci <berk.geveci at kitware.com>
>> wrote:
>> > Here is a summary that I came up with from the discussion so far. Does
>> this
>> > look good?
>> >
>> > Requirements:
>> >
>> > - Branch / topic based workflow
>> > - Automated testing before merge (required to pass)
>> > - Assign reviewers to topic
>> > - Review / approval before merge (required to pass)
>> > - Ability to go back to discussion leading to merge (audit trail)
>> > - Automatic notification on change
>> > - Ability to comment on the code (Web GUI preferred)
>> > - All reported bugs should be assessed and assigned
>> >
>> > Nice to have:
>> >
>> > - Tight integration with issue (bug) tracking and release process
>> > - Stakeholders for particular pieces identified / in the loop / easy or
>> > automatic assignment of
>> > reviewers
>> > - Ease of use
>> > - Incentive for reviewers (goal being encouraging more reviews)
>> > - Integration with Wiki
>> > - Easy documentation / Markdown /rST support
>> > - Easy way to generate single view of all changes in the Web GUI
>> > - Lightweight proposal process for large changes
>> > - Way to track performance regression
>> >
>>
>>
>>
>> --
>> Unpaid intern in BillsBasement at noware dot com
>>
>
>
> _______________________________________________
> Powered by www.kitware.com
>
> Visit other Kitware open-source projects at
> http://www.kitware.com/opensource/opensource.html
>
> Follow this link to subscribe/unsubscribe:
> http://public.kitware.com/mailman/listinfo/vtk-developers
>
>
>


-- 



*| Aashish Chaudhary | Technical Leader         | Kitware Inc.            *
*| http://www.kitware.com/company/team/chaudhary.html
<http://www.kitware.com/company/team/chaudhary.html>*
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://public.kitware.com/pipermail/vtk-developers/attachments/20140826/4356430d/attachment-0002.html>


More information about the vtk-developers mailing list