<font size=2 face="sans-serif">In our workflow, often the commit is pushed
to an ibm review branch, then the signer (usually me) does a signed-off
cherry-pick to an anl review branch and pushes the code to mpich-ibm git
repository for ANL to integrate. Using "signed off by" is usually
much easier than playing git games to ensure that the author and committer
are different.</font>
<br>
<br><font size=2 face="sans-serif">However, it really doesn't matter to
IBM. We would prefer to follow a documented process that is used by ANL
mpich team, but as of now I am not aware of any such documentation. The
goal from our perspective is to ensure that an internal code review has
been done before passing the code of to ANL - and it would be nice to know
who at ANL reviewed the code before it was pushed to master. </font>
<br><font size=2 face="sans-serif"><br>
Michael Blocksome<br>
Parallel Environment MPI Middleware Team Lead, TCEM<br>
POWER, x86, and Blue Gene HPC Messaging<br>
blocksom@us.ibm.com<br>
</font>
<br>
<br>
<br>
<br><font size=1 color=#5f5f5f face="sans-serif">From:      
 </font><font size=1 face="sans-serif">Jed Brown <jedbrown@mcs.anl.gov></font>
<br><font size=1 color=#5f5f5f face="sans-serif">To:      
 </font><font size=1 face="sans-serif">Michael Blocksome/Rochester/IBM@IBMUS,
</font>
<br><font size=1 color=#5f5f5f face="sans-serif">Cc:      
 </font><font size=1 face="sans-serif">devel@mpich.org</font>
<br><font size=1 color=#5f5f5f face="sans-serif">Date:      
 </font><font size=1 face="sans-serif">01/06/2014 01:21 PM</font>
<br><font size=1 color=#5f5f5f face="sans-serif">Subject:    
   </font><font size=1 face="sans-serif">Re: [mpich-discuss]
Use of Signed-off-by in MPICH</font>
<br>
<hr noshade>
<br>
<br>
<br><tt><font size=2>Michael Blocksome <blocksom@us.ibm.com> writes:<br>
<br>
> IBM uses the "signed off by" feature to enforce/track code
reviews before <br>
> any code gets contributed to ANL. The intent is that the commit author
!= <br>
> the commit signer when the code goes out. Often a developer at ANL
will <br>
> also review the code before it gets integrated into the master branch
(IBM <br>
> developers don't have push authority) and sign the commit again.<br>
<br>
So the last stage (whoever makes the actual commit) is already available<br>
because Git has separate fields for Committer and Author, as shown by<br>
"git log --format=fuller".<br>
<br>
> We use the text "Signed-off-by:xxxx <yyy at zzz>"
simply because this is what <br>
> is supported by the git tools. You can use commands like `git cherry-pick
<br>
> -s`, `git commit --amend -s`, and `git am -s` to ease the signing
effort. <br>
<br>
Yes, though this only adds your own name.  Do you email patches around<br>
until then?  When I started this thread, I pointed out a recent case<br>
where the author and committer were the same, but someone else was<br>
providing a Signed-off-by.  Either the commit went back and forth
or<br>
(more likely) the committer amended the commit to add a Signed-off-by<br>
>From the reviewer.  The idea with Git's -s is that you only ever sign<br>
for yourself, though if you integrate out-of-band content, you may copy<br>
the Signed-off-by tag provided by that other person.  So the design
of<br>
the -s option is not a perfect match, but I can see that it's often<br>
convenient.  In contrast, Reviewed-by, Acked-by, and similar are almost<br>
always a result of the author or committer translating out-of-band<br>
information (e.g., an email discussion).<br>
<br>
If you want to automatically add Reviewed-by tags, you could use<br>
.git/hooks/prepare-commit-msg, for example.<br>
<br>
Of course you can keep using Signed-off-by in place of Reviewed-by,<br>
though it causes some confusion for people new to the project,<br>
attempting to track provenance when either extracting code or using<br>
submodules with other projects that use the usual conventions, or<br>
scripts providing repository analytics.<br>
</font></tt>
<br>