contribution process

Gregory Szorc gregory.szorc at gmail.com
Thu Jul 3 19:10:02 UTC 2014


On 7/2/14, 10:56 PM, Gilles Moris wrote:
>> Would it be possible to persuade mpm/Selenic to consider hosting a
>> copy of ReviewBoard <https://www.reviewboard.org> this would allow
>> contributors to submit their proposed changes with:
>> hg postreview
>> using the ReviewboardExtension.
>>
>> I have to admit that I have yet to use it in anger but it looks good
>> to me.
 >
> email notifications for more than a couple years with success.
> The only thing I could see problematic for the Mercurial team is the
> management of patch series, on which ReviewBoard is still working on.

Mozilla is in the process of rolling out ReviewBoard for code review.

We've had discussions with ReviewBoard maintainers about making the 
"patch series" / "pull requests" workflow better. Some discussion is in 
https://bugzilla.mozilla.org/show_bug.cgi?id=947596. They understand the 
problem and want to help.

While I wasn't heavily involved in the conversations, my understanding 
was fully fixing ReviewBoard is a lot of work. Mozilla is therefore 
employing a one-off that stores hidden metadata in ReviewBoard to track 
patch series and ensures all related patches are properly linked 
together inside the RB UI.

We have a Mercurial extension that adds some new wire protocol commands 
to Mercurial and overrides `hg push` to initiate code review. This is 
coupled with a server-side component that converts a series of 
changesets into ReviewBoard requests, complete with the hidden metadata 
to link everything. See 
https://hg.mozilla.org/hgcustom/version-control-tools/file/default/hgext/reviewboard

The extension is far from perfect and is somewhat Mozilla centric at the 
moment. I'm the principle author of the Mercurial extension and have 
been trying to design things for generic use outside of Mozilla. But 
we're under time pressure to deliver this, so I've had to cut some 
corners. Patches welcome :)



More information about the Mercurial mailing list