<div dir="ltr"><div class="gmail_default" style="font-family:arial,helvetica,sans-serif"><br></div><div class="gmail_extra"><br><div class="gmail_quote">On Sun, Nov 20, 2016 at 9:18 PM, Sandro Bonazzola <span dir="ltr">&lt;<a href="mailto:sbonazzo@redhat.com" target="_blank">sbonazzo@redhat.com</a>&gt;</span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><p dir="ltr"></p>
<p dir="ltr">Il 20/Nov/2016 15:08, &quot;Barak Korren&quot; &lt;<a href="mailto:bkorren@redhat.com" target="_blank">bkorren@redhat.com</a>&gt; ha scritto:<br>
&gt;<br>
&gt; Hi there,<br>
&gt;<br>
&gt; I would like to address a concernt that had been raised to us by<br>
&gt; multiple developers, and reach an agreement on how (and if)  to remedy<br>
&gt; it.<br>
&gt;<br>
&gt; Lets assume the following situation:<br>
&gt; We have a Git repo in Gerrit with top commit C0 in master.<br>
&gt; On time t0 developers Alice and Bob push patches P1 and P2 respectively<br>
&gt; to master so that we end up with the following situation in git:<br>
&gt; C0 &lt;= P1 (this is Alice`s patch)<br>
&gt; C0 &lt;= P2 (this is Bob`s patch)<br>
&gt;<br>
&gt; On time t1 CI runs for both patches checking the code as it looks for<br>
&gt; each patch. Lets assume CI is successful for both.<br>
&gt;<br>
&gt; On time t2 Alice submits her patch and Gerrit merges it, resulting in<br>
&gt; the following situation in master:<br>
&gt; C0 &lt;= P1<br>
&gt;<br>
&gt; On time t2 Bob submits his patch. Gerrit, seeing master has changed,<br>
&gt; re-bases the patch and merges it, the resulting situation (If the<br>
&gt; rebase is successful) is:<br>
&gt; C0 &lt;= P1 &lt;= P2<br>
&gt;<br>
&gt; This means that the resulting code was never tested in CI. This, in<br>
&gt; turn, causes various failures to show up post-merge despite having<br>
&gt; pre-merge CI run successfully.<br>
&gt;<br>
&gt; This situation is a result of the way our repos are currently<br>
&gt; configured. Most repos ATM are configured with the &quot;Rebase If<br>
&gt; Necessary&quot; submit type. This means that Gerrit tries to automatically<br>
&gt; rebase patches as mentioned in t2 above.<br>
&gt;<br>
&gt; We could, instead, configure the repos to use the &quot;Fast Forward Only&quot;<br>
&gt; submit type. In that case, when Bob submits on t2, Gerrit refuses to<br>
&gt; merge and asks Bob to rebase (While offering a convenient button to do<br>
&gt; it). When he does, a new patch set gets pushed, and subsequently<br>
&gt; checked by CI.<br>
&gt;<br>
&gt; I recommend we switch all projects to use the &quot;Fast Forward Only&quot; submit type.<br>
&gt;<br>
&gt; Thoughts? Concerns?<br></p></blockquote><div><br><div class="gmail_default" style="font-family:arial,helvetica,sans-serif;display:inline">​AFAIR this was enabled for ovirt-engine project in the past and it was pretty impossible to merge any patch with CI+1 when some important dates were near (like feature freeze), because all maintainer tried to merge patches and waited for CI to finish. Personally I&#39;d say that current status is OK, because it&#39;s a responsibility of a maintainer to check CI results of a patch that he/she merged (and if error is raised then investigate the issue and post a fix asap if needed).<br><br></div><div class="gmail_default" style="font-family:arial,helvetica,sans-serif;display:inline">So &quot;Fast Forward Only&quot; could successfully works for smaller projects, but I don&#39;t think it will work for big projects like engine or vdsm.<br><br></div></div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><p dir="ltr"></p>
<p dir="ltr">+1 for me<span class="HOEnZb"><font color="#888888"><br></font></span></p><span class="HOEnZb"><font color="#888888">
<p dir="ltr">&gt;<br>
&gt; --<br>
&gt; Barak Korren<br>
&gt; <a href="mailto:bkorren@redhat.com" target="_blank">bkorren@redhat.com</a><br>
&gt; RHEV-CI Team<br>
&gt; ______________________________<wbr>_________________<br>
&gt; Devel mailing list<br>
&gt; <a href="mailto:Devel@ovirt.org" target="_blank">Devel@ovirt.org</a><br>
&gt; <a href="http://lists.ovirt.org/mailman/listinfo/devel" target="_blank">http://lists.ovirt.org/<wbr>mailman/listinfo/devel</a><br></p>
</font></span><br>______________________________<wbr>_________________<br>
Devel mailing list<br>
<a href="mailto:Devel@ovirt.org">Devel@ovirt.org</a><br>
<a href="http://lists.ovirt.org/mailman/listinfo/devel" rel="noreferrer" target="_blank">http://lists.ovirt.org/<wbr>mailman/listinfo/devel</a><br></blockquote></div><br></div></div>