<div dir="ltr"><br><div class="gmail_extra"><br><div class="gmail_quote">On Fri, Jun 23, 2017 at 4:21 PM, Niels de Vos <span dir="ltr">&lt;<a href="mailto:ndevos@redhat.com" target="_blank">ndevos@redhat.com</a>&gt;</span> wrote:<br><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex"><div class="gmail-HOEnZb"><div class="gmail-h5">On Fri, Jun 23, 2017 at 03:53:42PM +0530, Pranith Kumar Karampuri wrote:<br>
&gt; On Fri, Jun 23, 2017 at 3:01 PM, Niels de Vos &lt;<a href="mailto:ndevos@redhat.com">ndevos@redhat.com</a>&gt; wrote:<br>
&gt;<br>
&gt; &gt; On Fri, Jun 23, 2017 at 01:47:57PM +0530, Pranith Kumar Karampuri wrote:<br>
&gt; &gt; &gt; On Fri, Jun 23, 2017 at 1:30 PM, Niels de Vos &lt;<a href="mailto:ndevos@redhat.com">ndevos@redhat.com</a>&gt; wrote:<br>
&gt; &gt; &gt;<br>
&gt; &gt; &gt; &gt; On Fri, Jun 23, 2017 at 09:15:21AM +0530, Pranith Kumar Karampuri<br>
&gt; &gt; wrote:<br>
&gt; &gt; &gt; &gt; &gt; hi,<br>
&gt; &gt; &gt; &gt; &gt;      Now that we are doing backports with same Change-Id, we can<br>
&gt; &gt; find the<br>
&gt; &gt; &gt; &gt; &gt; patches and their backports both online and in the tree without any<br>
&gt; &gt; extra<br>
&gt; &gt; &gt; &gt; &gt; information in the commit message. So shall we stop adding text<br>
&gt; &gt; similar<br>
&gt; &gt; &gt; &gt; to:<br>
&gt; &gt; &gt; &gt; &gt;<br>
&gt; &gt; &gt; &gt; &gt;     &gt; Reviewed-on: <a href="https://review.gluster.org/17414" rel="noreferrer" target="_blank">https://review.gluster.org/<wbr>17414</a><br>
&gt; &gt; &gt; &gt; &gt;     &gt; Smoke: Gluster Build System &lt;<a href="mailto:jenkins@build.gluster.org">jenkins@build.gluster.org</a>&gt;<br>
&gt; &gt; &gt; &gt; &gt;     &gt; Reviewed-by: Pranith Kumar Karampuri &lt;<a href="mailto:pkarampu@redhat.com">pkarampu@redhat.com</a>&gt;<br>
&gt; &gt; &gt; &gt; &gt;     &gt; Tested-by: Pranith Kumar Karampuri &lt;<a href="mailto:pkarampu@redhat.com">pkarampu@redhat.com</a>&gt;<br>
&gt; &gt; &gt; &gt; &gt;     &gt; NetBSD-regression: NetBSD Build System &lt;<br>
&gt; &gt; <a href="mailto:jenkins@build.gluster.org">jenkins@build.gluster.org</a>&gt;<br>
&gt; &gt; &gt; &gt; &gt;     &gt; Reviewed-by: Amar Tumballi &lt;<a href="mailto:amarts@redhat.com">amarts@redhat.com</a>&gt;<br>
&gt; &gt; &gt; &gt; &gt;     &gt; CentOS-regression: Gluster Build System &lt;<br>
&gt; &gt; <a href="mailto:jenkins@build.gluster.org">jenkins@build.gluster.org</a><br>
&gt; &gt; &gt; &gt; &gt;<br>
&gt; &gt; &gt; &gt; &gt;     (cherry picked from commit de92c363c95d16966dbcc9d8763fd4<br>
&gt; &gt; 448dd84d13)<br>
&gt; &gt; &gt; &gt; &gt;<br>
&gt; &gt; &gt; &gt; &gt; in the patches?<br>
&gt; &gt; &gt; &gt; &gt;<br>
&gt; &gt; &gt; &gt; &gt; Do you see any other value from this information that I might be<br>
&gt; &gt; missing?<br>
&gt; &gt; &gt; &gt;<br>
&gt; &gt; &gt; &gt; I think it is good practise to mention where the backport comes from,<br>
&gt; &gt; &gt; &gt; who developed and reviewed the original. At least the commit-id is<br>
&gt; &gt; &gt; &gt; important, that way the backport can easily be compared to the<br>
&gt; &gt; original.<br>
&gt; &gt; &gt; &gt; git does not know about Change-Ids, but does know commmit-ids :)<br>
&gt; &gt; &gt; &gt;<br>
&gt; &gt; &gt;<br>
&gt; &gt; &gt; Change-ID captures all this information. You can know the patch in all<br>
&gt; &gt; &gt; branches with Change-ID, now that we are following same Change-ID across<br>
&gt; &gt; &gt; branches.<br>
&gt; &gt;<br>
&gt; &gt; However a Change-Id is not standard git, it is purely a Gerrit thing. I<br>
&gt; &gt; can&#39;t cherry-pick or &#39;git show&#39; a Change-Id, but that works fine with a<br>
&gt; &gt; git-commit.<br>
&gt; &gt;<br>
&gt;<br>
&gt; Where do we mention git commit-id now? If we do the backport using gerrit,<br>
&gt; it adds it as &quot;(cherry picked from commit<br>
&gt; de92c363c95d16966dbcc9d8763fd4<wbr>448dd84d13)&quot;,<br>
&gt; otherwise I don&#39;t think it gets mentioned, right?<br>
<br>
</div></div>Correct, that is just what &quot;git cherry-pick -x&quot; does too. It is one of<br>
the main requirements we check for backports. It is not enforced, but<br>
strongly encouraged to have it. Nothing in the commit message is<br>
enforced, it is up to the maintainers to make sure everything makes<br>
sense there.<br>
<br>
Part of this is also mentioned on<br>
<a href="http://gluster.readthedocs.io/en/latest/Developer-guide/Backport-Guidelines/" rel="noreferrer" target="_blank">http://gluster.readthedocs.io/<wbr>en/latest/Developer-guide/<wbr>Backport-Guidelines/</a><br>
<span class="gmail-"><br>
&gt; &gt; I also like to give credits to the people that originally wrote and<br>
&gt; &gt; reviewed the change. It is not required, but it is nice to have.<br>
&gt; &gt;<br>
&gt;<br>
&gt; If you do the backport using standard commands Author and committer are<br>
&gt; correctly shown in the patch, I think the tool already handles it. As for<br>
&gt; the reviewer etc. as this information is available on the actual patches,<br>
&gt; if the person who is checking for it really wants it, can find out.<br>
<br>
</span>Depends, if the patch is not exactly the same, the author should be<br>
changed to whoever did the backport and add a note explaining the<br>
difference. Even cherry-picks can be different, and sending those as an<br>
author who did not do the (incorrect?) work is wrong imho.<br>
<br>
But yes, if a backport is straight forward, the original Author of the<br>
change can surely be kept.<br>
<br>
<br>
Note that all of this is just my opinion, and based on working with many<br>
different projects that use git (or other tools) to identify patches<br>
that could be candidates for backporting. In general, the more details<br>
that are captured in the commit message, the easier it is to get an<br>
understanding of the different patches in different branches.<br></blockquote><div><br></div><div>Yes, I am also for as much information as possible in the commit with least amount of human effort. In time I would like us to get to a point, where we just have to say: backport release-3.12 release-3.11 release-3.10 and the script should clone, send the patches on gerrit and do recheck centos, recheck netbsd, so the only human effort has to be to be merge the patch<br></div><div> </div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex">
<span class="gmail-HOEnZb"><font color="#888888"><br>
Niels<br>
</font></span><div class="gmail-HOEnZb"><div class="gmail-h5"><br>
<br>
&gt; &gt; &gt; &gt; We should try to have all the needed details in the git repository, and<br>
&gt; &gt; &gt; &gt; not rely on Gerrit for patch verification/checking. When I&#39;m working on<br>
&gt; &gt; &gt; &gt; a patch and wonder why/when something related was changed, I&#39;ll use the<br>
&gt; &gt; &gt; &gt; local history, and do not want to depend on Gerrit.<br>
&gt; &gt; &gt; &gt;<br>
&gt; &gt; &gt;<br>
&gt; &gt; &gt; Change-ID is mentioned in the commit which is there in the git log, so we<br>
&gt; &gt; &gt; can figure out the information without needing internet/gerrit. So that<br>
&gt; &gt; &gt; part is not a problem.<br>
&gt; &gt;<br>
&gt; &gt; Yes, of course I can figure it out, but it is additional work. Most<br>
&gt; &gt; tools do not know about Change-Ids, like browsing through the code on<br>
&gt; &gt; GitHub; a commit-id will be linked, a Change-Id not.<br>
&gt; &gt;<br>
&gt; &gt;<br>
&gt; We will discuss this further after my question above about commit-id is<br>
&gt; answered.<br>
&gt;<br>
&gt;<br>
&gt; &gt; &gt; All of this information was important to mention earlier because there<br>
&gt; &gt; was<br>
&gt; &gt; &gt; no common thing binding all together. With same Change-ID across branches<br>
&gt; &gt; &gt; for a patch, it seems unnecessary to mention this information in the<br>
&gt; &gt; commit<br>
&gt; &gt; &gt; message.<br>
&gt; &gt;<br>
&gt; &gt; Not everyone is familiar with how Gerrit handles Change-Ids. A<br>
&gt; &gt; git-commit is something that other (new) contributors understand better.<br>
&gt; &gt; I prefer to make it as easy as possible for people to go through the git<br>
&gt; &gt; log and compare/check/verify whatever they are looking for. Limiting<br>
&gt; &gt; references to Change-Ids makes their task a little more difficult.<br>
&gt; &gt;<br>
&gt;<br>
&gt; Same here: We will discuss this further after my question above about<br>
&gt; commit-id is answered.<br>
&gt;<br>
&gt;<br>
&gt; &gt;<br>
&gt; &gt; Niels<br>
&gt; &gt;<br>
&gt;<br>
&gt;<br>
&gt;<br>
&gt; --<br>
&gt; Pranith<br>
</div></div></blockquote></div><br><br clear="all"><br>-- <br><div class="gmail_signature"><div dir="ltr">Pranith<br></div></div>
</div></div>