[asterisk-dev] Git Migration

Russell Bryant russell at russellbryant.net
Thu Sep 18 13:49:09 CDT 2014


On Thu, Sep 18, 2014 at 12:29 PM, Russell Bryant <russell at russellbryant.net>
wrote:

> On Thu, Sep 18, 2014 at 11:31 AM, Samuel Galarneau <sgalarneau at digium.com>
> wrote:
>
>>
>>
>> On Tue, Sep 16, 2014 at 5:01 PM, Russell Bryant <
>> russell at russellbryant.net> wrote:
>>
>>> On Tue, Sep 16, 2014 at 3:48 PM, Matthew Jordan <mjordan at digium.com>
>>> wrote:
>>>
>>>> "And there was much rejoicing"
>>>>
>>>
>>> \o/
>>>
>>>
>>>> But seriously, we all know that a lot of people have wanted to move to
>>>> Git for some time. For the record, everyone at Digium has wanted to move
>>>> the project to Git for some time. I swore to myself that we wouldn't do
>>>> another Standard release on Subversion - after we spent at least six weeks
>>>> mucking around with merge conflicts during Asterisk 12 - and with Asterisk
>>>> 14 looming ever closer, the time is now to start getting something done on
>>>> this.
>>>>
>>> ...
>>> -- Team repos
>>>
>>> I'd recommend just using your own account on github or whatever.
>>>
>>> ...
>>>
>>> -- Process Recommendation
>>>
>>> I discussed this a good bit above, but I'm happy to answer questions.
>>>
>>> --
>>> Russell Bryant
>>>
>>
>> Russell,
>>
>> how does Gerrit deal with submitting reviews? Are all reviews simply
>> topic branches on the repository that Gerrit hosts?
>>
>
> Perhaps a real demonstration of workflow would help.  I'll use a recent
> trivial fix that I did.  This is a one-liner patch that needed to go into
> master as well as two stable branches.
>
> I headed over to my local git tree and created a branch to do the fix.
>
> $ cd openstack/nova
> $ git checkout -b bug/1370191 origin/master
>
> ... Hack code and commit the fix ...
>
> $ git commit -a
>
> Now I have a single patch on top of upstream master that I want to submit
> for review.
>
> $ git review
>
> This created https://review.openstack.org/#/c/121940/
>
> What's actually happening is a git push to gerrit.  A git repo in gerrit
> maintains all revisions of all patches.  You can actually fetch the patch
> and look at it locally in your tree.
>
>
A couple more comments about the magic happening here ...

First, "git review" knows where to push based on a file checked in to the
repo:

 $ cat .gitreview
[gerrit]
host=review.openstack.org
port=29418
project=openstack/nova.git

"git review" also sets up a local commit hook that adds a "Change-Id"
header to your commit message.  That Change-Id is what links multiple
revisions of the same change together.  So, if you edit your change and
push it again, as long as the Change-Id remains the same, gerrit treats it
as the same review request and not a new one.

-- 
Russell Bryant
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.digium.com/pipermail/asterisk-dev/attachments/20140918/6e24dbfe/attachment.html>


More information about the asterisk-dev mailing list