[asterisk-dev] Git Migration update

Matthew Jordan mjordan at digium.com
Thu Apr 16 15:08:40 CDT 2015


On Tue, Apr 14, 2015 at 9:24 AM, Russell Bryant
<russell at russellbryant.net> wrote:
> On Mon, Apr 13, 2015 at 6:52 PM, Matthew Jordan <mjordan at digium.com> wrote:
>>
>> For *right now*, we are going to try cherry-picking the changes to the
>> affected branches when the change is first up for review. This is
>> clearly a pretty big change in process, as the act of merging into
>> other branches was (a) always done by those with commit access and (b)
>> never reviewed. There's at least two good reasons to give this a try:
>>
>> (1) There isn't anyone with "commit" access. Anyone can post a review
>> up to Gerrit. The plus side is that there are far fewer barriers to
>> getting a patch into Asterisk. The downside is that there isn't a
>> select group of people who have been trusted to do the merges. The
>> only way to ensure that patches actually do get merged into all the
>> branches is to require people to put the patches up with the initial
>> review.
>>
>> (2) Gerrit really, really wants to review things. That's a good thing:
>> we've had plenty of bad merges take out branches in the past - either
>> from compilation issues, subtle bugs that creep in due to API
>> compatibility problems, etc. We've had even more that get merged
>> upstream and fail to take advantage of APIs that exist in later
>> versions of Asterisk. Reviews will help to catch that.
>>
>> This is a trial. We'll re-evaluate how things are working at the end
>> of the week.

So, tentatively, I think the model of cherry-picking changes to all
affected branches (including master) is working out okay. This does
mean the volume of code reviews has gone up, but we appear to be
keeping reasonable pace with the changes.

One of the benefits of Gerrit is that while the volume of code reviews
is greater, it is:
(1) FAR easier to get changes merged in, particularly when the entire
change is now reviewed for all branches.
(2) Much more collaborative, as anyone can address findings and/or fix
up commits and update reviews.

As such, I've gone ahead and updated the various wiki pages (with some
help from Corey and George) to note the Git related policies. The
major pages are:

* Patch Contribution Process
(https://wiki.asterisk.org/wiki/display/AST/Patch+Contribution+Process)
  A very high level page that details for new(er) developers how to
submit a patch to the project. It's also a good overview for everyone,
and links to many of the pages below.

* Git Usage (https://wiki.asterisk.org/wiki/display/AST/Git+Usage)
  This brief page lists out the various Git repositories (mirrors and
the like), and specific recommendations for how the -2+2 reviews
should be handled.

* Gerrit Usage (https://wiki.asterisk.org/wiki/display/AST/Gerrit+Usage)
  This rather detailed page contains instructions for using Gerrit and
git review.

* Commit Messages (https://wiki.asterisk.org/wiki/display/AST/Commit+Messages)
  Details proper formatting of commit messages. Since the commit
messages are also reviewed, this is important for everyone.

* Software Configuration Management Policies
(https://wiki.asterisk.org/wiki/display/AST/Software+Configuration+Management+Policies)
  Details the types of branches in Asterisk (Standard vs LTS), new
feature/bug fix policies, as well as the currently supported branches.
Most of this should be familiar to long-time developers of Asterisk,
and not much has changed here.

I'm sure there is information that is still missing or unclear. If you
have any questions about the content on the pages above, please feel
free to ask here on the mailing list or in #asterisk-dev, and I (or
others) will work to get them cleared up.

Thanks!

Matt

-- 
Matthew Jordan
Digium, Inc. | Director of Technology
445 Jan Davis Drive NW - Huntsville, AL 35806 - USA
Check us out at: http://digium.com & http://asterisk.org



More information about the asterisk-dev mailing list