[opensource-dev] code review in the new release process

Oz Linden (Scott Lawrence) oz at lindenlab.com
Fri May 24 08:18:17 PDT 2013


On 2013-05-22 22:59 , Nicky Perian asks:
> Which repositories will be used to open code review? Will each project 
> be available for code review?

An excellent pair of questions... I'll take them in reverse order.

*How will you know which repositories are active, and will they be 
reviewable?*

    Our intent is that sources for development projects will become
    publicly visible /approximately/ when both:

      * A public test viewer is made available (whether as a Project or
        Beta viewer)
      * The design, especially any server interactions, is believed to
        be reasonably stable
        (if the goal of releasing a viewer is to find out whether or not
        a particular design works, we don't want to put the sources out
        where someone might pull them because then important changes to
        the design may create compatibility problems; the materials
        project kept its sources private for some time for this reason).

    I say approximately because each project will make that decision
    independently; for some, making sources public may be a high
    priority (such as getting important bug fixes out where others can
    pick them up), while others may take longer.  This is a guideline
    for our teams, not a hard and fast promise, but we are very much
    aware that it's in our interest to get new features adopted by the
    open source community in a timely way, so we have ample motivation
    to make sources public.

    To that end, I will be maintaining a wiki page that will display all
    of our Viewer channels and the latest viewers in the channel.
    Channels that include candidate viewer cohorts (normally only the
    release channel) will display both the default viewer and the
    candidates.  For each viewer, there will be a link to the
    repository, the changeset id it was built from, and an indicator as
    to whether or not that repository is public.   I've already created
    the program to generate this page content, and will try to update
    the page promptly when changes are made.  The page will appear
    shortly after we begin using the new viewer version management
    system (the generation program relies on queries against that
    service).  Incidentally - this will be separate from the
    user-oriented official Alternate Viewers page, which will provide
    the download links for each publicly available viewer.

    Bitbucket provides a 'watch' feature you can use to be notified when
    changes are made to repository - you can use that to monitor both
    viewer-release and any other repository, so I won't be configuring
    email notices on any of the new repositories.

*Which brings us to code reviews...*

The ReviewBoard instance at codereview.secondlife.com has been valuable, 
I think, but it has some significant problems - specifically it:

  * Isn't integrated with Jira
  * Isn't integrated with Bitbucket
  * Requires fairly complex manipulation to post reviews of code in
    repositories not directly descended from one of the configured repos
    (see Posting Failure
    <https://wiki.secondlife.com/wiki/Code_Review_Tool#Posting_Failure>
    in the wiki documentation)
    This goes directly to Nickys question, really, and I am not crazy
    about the idea of constantly having to configure each project
    repository... if only because it would get cluttered very quickly
  * Is rather a pain for me to keep up to date
    (updates require that I re-merge changes we need that for some
    reason the developers have never integrated my contributions for)...
    we're actually pretty far behind the most recent releases as a result.

Since I set up that review system, Bitbucket has significantly improved 
their display of differences in a commit and added some code review 
features (I like to think that my quite detailed feedback to them on 
this played some part in that).  If you display the page for a specific 
commit, there is a way to comment on both the commit as a whole (a box 
at the top) and on any specific line (click on the speech bubble to the 
left of the line).  The comments are then both mailed to the author of 
the commit and displayed on the page.  There's a way to reply to each, 
and there's an Approve button at the top that registers your approval of 
the commit.

Using Bitbucket for reviews would place a premium on arranging your 
changes as a single commit that does not have any embedded merges. As a 
former/sometime git user, I prefer to do that anyway.  It's a little 
less convenient in Mercurial, but it's not that hard.

On the whole, I think that using the Bitbucket review system would be 
much easier than the existing ReviewBoard; it seems to me that the only 
significant disadvantage is that it doesn't post review requests to this 
list, but putting together an email with a link doesn't seem to me to be 
too much to ask.

Opinions?  Experiments?

-- 
*Scott Lawrence* | /Director of Open Development/
Skype ozlinden <skype://ozlinden> | Second Life Oz Linden 
<https://my.secondlife.com/oz.linden>

Linden Lab| Makers of Shared Creative Spaces <http://lindenlab.com/>
SECOND LIFE <http://secondlife.com/> | PATTERNS 
<http://buildpatterns.com/> | CREATORVERSE <http://creatorverse.com/> | 
DIO <http://dio.com/> | VERSU <http://versu.com/>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://lists.secondlife.com/pipermail/opensource-dev/attachments/20130524/d682c15d/attachment-0001.htm 
-------------- next part --------------
An embedded message was scrubbed...
From: "Lirusaito" <commits-reply at bitbucket.org>
Subject: Re: [Bitbucket] Commit e6292c4: CHOP-942: fix crash if update check times
 out (lindenlab/viewer-3.5.3)
Date: Fri, 24 May 2013 15:00:48 -0000
Size: 8761
Url: http://lists.secondlife.com/pipermail/opensource-dev/attachments/20130524/d682c15d/attachment-0002.eml 
-------------- next part --------------
An embedded message was scrubbed...
From: "Lirusaito" <commits-reply at bitbucket.org>
Subject: Re: [Bitbucket] Commit e6292c4: CHOP-942: fix crash if update check times
 out (lindenlab/viewer-3.5.3)
Date: Fri, 24 May 2013 15:01:08 -0000
Size: 16887
Url: http://lists.secondlife.com/pipermail/opensource-dev/attachments/20130524/d682c15d/attachment-0003.eml 


More information about the opensource-dev mailing list