<div dir="ltr">PS: Just wanted to let everyone know that I tested the &quot;squash merges&quot; setup, which works great (including a possibility to edit the commit message), and it checks that the branch is in a state that allows fast-forward merging (and does not allow any other type of merges if we say so).<div><br></div><div>Now, what I haven&#39;t yet tested is how to properly rebase an entire branch locally when that isn&#39;t the case - although I&#39;m sure that&#39;s just a question of knowing the right kind of git magic.</div><div><br></div><div>Cheers,</div><div><br></div><div>Erik<br><div><br></div><div><br></div></div></div><br><div class="gmail_quote"><div dir="ltr" class="gmail_attr">On Thu, Aug 1, 2019 at 6:20 AM Erik Lindahl &lt;<a href="mailto:erik.lindahl@gmail.com">erik.lindahl@gmail.com</a>&gt; wrote:<br></div><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">Hi,<br>
<br>
As far as I could tell, the last point - which I agree is nice - is available at least in gitlab too (not sure about github) by only accepting fast-forward merge requests, and then one can decide to squash them (but that might not have been available 5-7 years ago).<br>
<br>
However, my take on it isn&#39;t based on not liking Gerrit, but finding a solution that is is stable, fast, and with as little administration as possible for the combination of<br>
<br>
- code review<br>
- hosting multiple branches <br>
- making it easy for users to maintain separate repos<br>
- A CI where we specify jobs as docker images, and have the CI specs fully integrated in the source repo<br>
- Enabling us to self-host CI jobs with a few fat redundant servers<br>
- improving testing performance by enabling cachingĀ  per change<br>
- Separating long compile from short testing runs so we can compile everywhere instead of waiting for a particular host<br>
- not having to maintain multiple sites (eg. Gerrit+Jenkins+Redmine) and doing admin like removing spam users<br>
- Having so clear documentation that everyone can fix things and extend/adjust jobs<br>
- Zero cost<br>
<br>
<br>
... And there i simply haven&#39;t found any good overall setup based on Gerrit.<br>
<br>
Cheers,<br>
<br>
Erik<br>
<br>
--<br>
Erik Lindahl &lt;<a href="mailto:erik.lindahl@scilifelab.se" target="_blank">erik.lindahl@scilifelab.se</a>&gt;<br>
Professor of Biophysics<br>
Science for Life Laboratory<br>
Stockholm University &amp; KTH<br>
Office (SciLifeLab): +46 8 524 81567<br>
Cell (Sweden): +46 73 4618050<br>
Cell (US): +1 (650) 924 7674 <br>
<br>
<br>
<br>
&gt; On 1 Aug 2019, at 00:20, Schulz, Roland &lt;<a href="mailto:roland.schulz@intel.com" target="_blank">roland.schulz@intel.com</a>&gt; wrote:<br>
&gt; <br>
&gt; Many discussions on the web:<br>
&gt; e.g. <a href="https://softwareengineering.stackexchange.com/questions/173262/gerrit-code-review-or-githubs-fork-and-pull-model" rel="noreferrer" target="_blank">https://softwareengineering.stackexchange.com/questions/173262/gerrit-code-review-or-githubs-fork-and-pull-model</a><br>
&gt; or <a href="https://news.ycombinator.com/item?id=8605293" rel="noreferrer" target="_blank">https://news.ycombinator.com/item?id=8605293</a><br>
&gt; <br>
&gt; My take:<br>
&gt; <br>
&gt; Github/gitlab pull-request pros:<br>
&gt; - Much more developers are familiar with it<br>
&gt; - Allows to review branches<br>
&gt; - Doesn&#39;t force the developer to rewrite history and break into individually small reviewable patches<br>
&gt; <br>
&gt; Gerrit pros:<br>
&gt; - What we are used to. Either model needs a good workflow with agreed on best practices. We need to learn/document them anew if we switch.<br>
&gt; - Forces developers to rewrite history makes it sometimes easier for reviewers<br>
&gt; - You end up with a single commit after review which is guaranteed to compile and work by itself. With pull-request you have a branch with all the fixes based on the review. Either you squash it before you merge or you have all the fixits commit in the main git history. In the first case if the original code was multiple commits from a branch (and if not you lose the main advantage and still force people to create small commits) then that history is lost, because pull-request don&#39;t distinguish between commits from the initial history prior to review and the fixits based on the review/CI failures. In the latter case you&#39;ll end up with some commits which won&#39;t compile which is problem if you later need to e.g. bisect or revert. Or you need to use a mixture of commits and history rewrite but that isn&#39;t well supported.<br>
&gt; <br>
&gt; Roland<br>
&gt; <br>
&gt;&gt; -----Original Message-----<br>
&gt;&gt; From: <a href="mailto:gromacs.org_gmx-developers-bounces@maillist.sys.kth.se" target="_blank">gromacs.org_gmx-developers-bounces@maillist.sys.kth.se</a><br>
&gt;&gt; [mailto:<a href="mailto:gromacs.org_gmx-developers-bounces@maillist.sys.kth.se" target="_blank">gromacs.org_gmx-developers-bounces@maillist.sys.kth.se</a>] On<br>
&gt;&gt; Behalf Of Berk Hess<br>
&gt;&gt; Sent: Wednesday, July 31, 2019 2:30 PM<br>
&gt;&gt; To: <a href="mailto:gmx-developers@gromacs.org" target="_blank">gmx-developers@gromacs.org</a><br>
&gt;&gt; Subject: Re: [gmx-developers] Transition to Gitlab<br>
&gt;&gt; <br>
&gt;&gt; That&#39;s important information.<br>
&gt;&gt; <br>
&gt;&gt; Is there some place which discusses the pros and cons of both workflows?<br>
&gt;&gt; <br>
&gt;&gt; Cheers,<br>
&gt;&gt; <br>
&gt;&gt; Berk<br>
&gt;&gt; <br>
&gt;&gt;&gt; On 7/31/19 11:09 PM, Schulz, Roland wrote:<br>
&gt;&gt;&gt; How will the code review work in gitlab? We are planning to switch to the<br>
&gt;&gt; pull-request workflow from the current gerrit workflow? They both have<br>
&gt;&gt; pros and cons but they are very different. So I think that&#39;s an important<br>
&gt;&gt; decision. And note that you really need to change to the different best<br>
&gt;&gt; practices for a pull-request workflow. Github/gitlab don&#39;t work well if you<br>
&gt;&gt; rebase changes which is required for gerrit.<br>
&gt;&gt;&gt; Note that <a href="http://www.gerritforge.com/pricing.html#platinum" rel="noreferrer" target="_blank">http://www.gerritforge.com/pricing.html#platinum</a> provides<br>
&gt;&gt; free Gerrit hosting for OpenSource projects. So if we want to stick with the<br>
&gt;&gt; gerrit forkflow we can do so while moving to a hosted solution. But<br>
&gt;&gt; gerritforge only works with github and not gitlab. So it wouldn&#39;t make sense<br>
&gt;&gt; to move the issues to gitlab if we wanted to use gerritforge.<br>
&gt;&gt;&gt; <br>
&gt;&gt;&gt; Roland<br>
&gt;&gt;&gt; <br>
&gt;&gt;&gt;&gt; -----Original Message-----<br>
&gt;&gt;&gt;&gt; From: <a href="mailto:gromacs.org_gmx-developers-bounces@maillist.sys.kth.se" target="_blank">gromacs.org_gmx-developers-bounces@maillist.sys.kth.se</a><br>
&gt;&gt;&gt;&gt; [mailto:<a href="mailto:gromacs.org_gmx-developers-bounces@maillist.sys.kth.se" target="_blank">gromacs.org_gmx-developers-bounces@maillist.sys.kth.se</a>] On<br>
&gt;&gt;&gt;&gt; Behalf Of Paul bauer<br>
&gt;&gt;&gt;&gt; Sent: Wednesday, July 31, 2019 8:45 AM<br>
&gt;&gt;&gt;&gt; To: <a href="mailto:gromacs.org_gmx-developers@maillist.sys.kth.se" target="_blank">gromacs.org_gmx-developers@maillist.sys.kth.se</a><br>
&gt;&gt;&gt;&gt; Subject: [gmx-developers] Transition to Gitlab<br>
&gt;&gt;&gt;&gt; <br>
&gt;&gt;&gt;&gt; Hello @ all developers,<br>
&gt;&gt;&gt;&gt; <br>
&gt;&gt;&gt;&gt; the core team is currently investigating a transition of our code<br>
&gt;&gt;&gt;&gt; review, issue tracking and CI to Gitlab, to reduce the time<br>
&gt;&gt;&gt;&gt; developers need to spend on maintaining our current, self-hosted<br>
&gt;&gt; infrastructure.<br>
&gt;&gt;&gt;&gt; As part of this we are planning to transfer the information in<br>
&gt;&gt;&gt;&gt; Redmine to Gitlab issues and milestones.<br>
&gt;&gt;&gt;&gt; <br>
&gt;&gt;&gt;&gt; We want to have issues and such still linked to the correct<br>
&gt;&gt;&gt;&gt; users/developers, so we need the Gitlab user names of those of you<br>
&gt;&gt;&gt;&gt; that are interested to continue development on Gitlab.<br>
&gt;&gt;&gt;&gt; This is a requirement of the script that performs the transition :(<br>
&gt;&gt;&gt;&gt; Those users should also link themselves to the GROMACS organisation<br>
&gt;&gt;&gt;&gt; (<a href="https://gitlab.com/gromacs" rel="noreferrer" target="_blank">https://gitlab.com/gromacs</a>).<br>
&gt;&gt;&gt;&gt; <br>
&gt;&gt;&gt;&gt; Please send the Gitlab user names as private e-Mail to either me or<br>
&gt;&gt;&gt;&gt; another member of the core team.<br>
&gt;&gt;&gt;&gt; <br>
&gt;&gt;&gt;&gt; Cheers<br>
&gt;&gt;&gt;&gt; <br>
&gt;&gt;&gt;&gt; Paul<br>
&gt;&gt;&gt;&gt; <br>
&gt;&gt;&gt;&gt; <br>
&gt;&gt;&gt;&gt; --<br>
&gt;&gt;&gt;&gt; Paul Bauer, PhD<br>
&gt;&gt;&gt;&gt; GROMACS Release Manager<br>
&gt;&gt;&gt;&gt; KTH Stockholm, SciLifeLab<br>
&gt;&gt;&gt;&gt; 0046737308594<br>
&gt;&gt; <br>
&gt;&gt; --<br>
&gt;&gt; Gromacs Developers mailing list<br>
&gt;&gt; <br>
&gt;&gt; * Please search the archive at<br>
&gt;&gt; <a href="http://www.gromacs.org/Support/Mailing_Lists/GMX-developers_List" rel="noreferrer" target="_blank">http://www.gromacs.org/Support/Mailing_Lists/GMX-developers_List</a><br>
&gt;&gt; before posting!<br>
&gt;&gt; <br>
&gt;&gt; * Can&#39;t post? Read <a href="http://www.gromacs.org/Support/Mailing_Lists" rel="noreferrer" target="_blank">http://www.gromacs.org/Support/Mailing_Lists</a><br>
&gt;&gt; <br>
&gt;&gt; * For (un)subscribe requests visit<br>
&gt;&gt; <a href="https://maillist.sys.kth.se/mailman/listinfo/gromacs.org_gmx-developers" rel="noreferrer" target="_blank">https://maillist.sys.kth.se/mailman/listinfo/gromacs.org_gmx-developers</a> or<br>
&gt;&gt; send a mail to <a href="mailto:gmx-developers-request@gromacs.org" target="_blank">gmx-developers-request@gromacs.org</a>.<br>
&gt; -- <br>
&gt; Gromacs Developers mailing list<br>
&gt; <br>
&gt; * Please search the archive at <a href="http://www.gromacs.org/Support/Mailing_Lists/GMX-developers_List" rel="noreferrer" target="_blank">http://www.gromacs.org/Support/Mailing_Lists/GMX-developers_List</a> before posting!<br>
&gt; <br>
&gt; * Can&#39;t post? Read <a href="http://www.gromacs.org/Support/Mailing_Lists" rel="noreferrer" target="_blank">http://www.gromacs.org/Support/Mailing_Lists</a><br>
&gt; <br>
&gt; * For (un)subscribe requests visit<br>
&gt; <a href="https://maillist.sys.kth.se/mailman/listinfo/gromacs.org_gmx-developers" rel="noreferrer" target="_blank">https://maillist.sys.kth.se/mailman/listinfo/gromacs.org_gmx-developers</a> or send a mail to <a href="mailto:gmx-developers-request@gromacs.org" target="_blank">gmx-developers-request@gromacs.org</a>.<br>
</blockquote></div><br clear="all"><div><br></div>-- <br><div dir="ltr" class="gmail_signature"><div dir="ltr"><div><div dir="ltr"><div><div dir="ltr"><div><div dir="ltr"><div>Erik Lindahl &lt;<a href="mailto:erik.lindahl@dbb.su.se" target="_blank">erik.lindahl@dbb.su.se</a>&gt;</div><div>Professor of Biophysics, Dept. Biochemistry &amp; Biophysics, Stockholm University</div><div>Science for Life Laboratory, Box 1031, 17121 Solna, Sweden</div></div></div></div></div></div></div></div></div>