<div dir="ltr"><div class="gmail_extra"><div class="gmail_quote">On Thu, Sep 18, 2014 at 12:29 PM, Russell Bryant <span dir="ltr"><<a href="mailto:russell@russellbryant.net" target="_blank">russell@russellbryant.net</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left-width:1px;border-left-color:rgb(204,204,204);border-left-style:solid;padding-left:1ex"><div dir="ltr"><div class="gmail_extra"><div class="gmail_quote"><span class="">On Thu, Sep 18, 2014 at 11:31 AM, Samuel Galarneau <span dir="ltr"><<a href="mailto:sgalarneau@digium.com" target="_blank">sgalarneau@digium.com</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left-width:1px;border-left-color:rgb(204,204,204);border-left-style:solid;padding-left:1ex"><div dir="ltr"><br><div class="gmail_extra"><br><div class="gmail_quote"><span>On Tue, Sep 16, 2014 at 5:01 PM, Russell Bryant <span dir="ltr"><<a href="mailto:russell@russellbryant.net" target="_blank">russell@russellbryant.net</a>></span> wrote:<br></span><span><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left-width:1px;border-left-style:solid;border-left-color:rgb(204,204,204);padding-left:1ex"><div dir="ltr"><div class="gmail_extra"><div class="gmail_quote"><span>On Tue, Sep 16, 2014 at 3:48 PM, Matthew Jordan <span dir="ltr"><<a href="mailto:mjordan@digium.com" target="_blank">mjordan@digium.com</a>></span> wrote:<br></span><span><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left-width:1px;border-left-color:rgb(204,204,204);border-left-style:solid;padding-left:1ex"><div dir="ltr"><div><div><div><div><div><div>"And there was much rejoicing"<br></div></div></div></div></div></div></div></blockquote><div><br></div></span><div>\o/</div><span><div> </div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left-width:1px;border-left-color:rgb(204,204,204);border-left-style:solid;padding-left:1ex"><div dir="ltr"><div><div><div><div><div>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. <br></div></div></div></div></div></div></blockquote></span></div></div></div></blockquote></span><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left-width:1px;border-left-style:solid;border-left-color:rgb(204,204,204);padding-left:1ex"><div dir="ltr"><div class="gmail_extra"><div class="gmail_quote"><div>...<br></div><span><div>-- Team repos</div><div><br></div><div>I'd recommend just using your own account on github or whatever.</div><div><br></div></span>...<span><div><br></div><div>-- Process Recommendation</div><div><br></div><div>I discussed this a good bit above, but I'm happy to answer questions.</div><span><font color="#888888"><div><br></div><div>-- </div><div>Russell Bryant</div></font></span></span></div></div></div>
</blockquote></div><br></div><div class="gmail_extra">Russell,<br><br></div><div class="gmail_extra">how does Gerrit deal with submitting reviews? Are all reviews simply topic branches on the repository that Gerrit hosts?<br></div></div></blockquote><div><br></div></span><div>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.</div><div><br></div><div>I headed over to my local git tree and created a branch to do the fix.</div><div><br></div><div>$ cd openstack/nova</div><div>$ git checkout -b bug/1370191 origin/master</div><div><br></div><div>... Hack code and commit the fix ...</div><div><br></div><div>$ git commit -a</div><div><br></div><div>Now I have a single patch on top of upstream master that I want to submit for review.</div><div><br></div><div>$ git review</div><div><br></div><div>This created <a href="https://review.openstack.org/#/c/121940/" target="_blank">https://review.openstack.org/#/c/121940/</a></div><div><br></div><div>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.</div><div><br></div></div></div></div></blockquote><div><br></div><div>A couple more comments about the magic happening here ...</div><div><br></div><div>First, "git review" knows where to push based on a file checked in to the repo:</div><div><br></div><div> $ cat .gitreview </div><div>[gerrit]</div><div>host=<a href="http://review.openstack.org">review.openstack.org</a></div><div>port=29418</div><div>project=openstack/nova.git</div><div><br></div><div>"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.</div><div><br></div><div>-- </div><div>Russell Bryant</div></div></div></div>