<oembed><type>rich</type><version>1.0</version><author_name>npub1vlgx34nzzqzrqq0uujch65yyzyknuduuqulj24ydlnarhwdhwzlsx69gsv</author_name><author_url>https://nostr.ae/npub1vlgx34nzzqzrqq0uujch65yyzyknuduuqulj24ydlnarhwdhwzlsx69gsv</author_url><provider_name>njump</provider_name><provider_url>https://nostr.ae</provider_url><html>📅 Original date posted:2014-05-21&#xA;📝 Original message:Hi Wladimir,&#xA;&#xA;I&#39;m personally happy to comply with this for any future commits, but wonder if you&#39;ve considered the arguments against commit signing [1]? Note especially the reference therein to Linus&#39; original negative opinion on signed commits [2].&#xA;&#xA;I came across these when searching for a way to enable signing by default, e.g. a `git config` option that might allow for this. Unfortunately, there isn&#39;t one, meaning it&#39;s likely that most folks will forget to do this most of the time.&#xA;&#xA;If you&#39;re really serious about it, you should probably reject pull requests without signed commits; otherwise, signing becomes meaningless because only honest authors do it, and forgetful or malicious ones can avoid it without penalty.&#xA;&#xA;That said, I&#39;m not sure that creating such a barrier to contribution is worth it.&#xA;&#xA;- Chris&#xA;&#xA;[1]: http://stackoverflow.com/a/10166916/622403&#xA;[2]: http://git.661346.n2.nabble.com/GPG-signing-for-git-commit-td2582986.html&#xA;&#xA;On May 21, 2014, at 2:23 PM, Wladimir &lt;laanwj at gmail.com&gt; wrote:&#xA;&#xA;&gt; Hello all,&#xA;&gt; &#xA;&gt; When you&#39;re contributing to Bitcoin Core development please sign your&#xA;&gt; git commits. This is easy to do and will help in assuring the&#xA;&gt; integrity of the tree.&#xA;&gt; &#xA;&gt; How to sign your commits?&#xA;&gt; ------------------------------------------&#xA;&gt; &#xA;&gt; Provide the `-S` flag (or `--gpg-sign`) to git commit when you commit&#xA;&gt; your changes, for example&#xA;&gt; &#xA;&gt;    git commit -m &#34;Commit message&#34; -S&#xA;&gt; &#xA;&gt; Optionally you can provide a key id after the -S option to sign with a&#xA;&gt; specific key.&#xA;&gt; &#xA;&gt; What if I forgot?&#xA;&gt; -------------------------&#xA;&gt; &#xA;&gt; You can retroactively sign your previous commit using --amend, for example&#xA;&gt; &#xA;&gt;    git commit -S --amend&#xA;&gt; &#xA;&gt; If you need to go further back, you can use the interactive rebase&#xA;&gt; command with &#39;edit&#39;. Replace HEAD~3 with the base commit from which&#xA;&gt; you want to start.&#xA;&gt; &#xA;&gt;    git rebase -i HEAD~3&#xA;&gt; &#xA;&gt; Replace &#39;pick&#39; by &#39;edit&#39; for the commit that you want to sign and the&#xA;&gt; rebasing will stop after that commit. Then you can amend the commit as&#xA;&gt; above. Afterwards, do&#xA;&gt; &#xA;&gt;    git rebase --continue&#xA;&gt; &#xA;&gt; As this will rewrite history, you cannot do this when your commit is&#xA;&gt; already merged. In that case, too bad, better luck next time.&#xA;&gt; &#xA;&gt; If you rewrite history for another reason - for example when squashing&#xA;&gt; commits - make sure that you re-sign as the signatures will be lost.&#xA;&gt; &#xA;&gt; How to check if commits are signed?&#xA;&gt; -------------------------------------------------------&#xA;&gt; &#xA;&gt; Use git log with show-signature,&#xA;&gt; &#xA;&gt;    git log --show-signature&#xA;&gt; &#xA;&gt;    commit 6fcdad787f1fb381a3a0fe6b1a1e45477426dccb&#xA;&gt;    gpg: Signature made Wed 21 May 2014 12:27:55 PM CEST using RSA key&#xA;&gt; ID 2346C9A6&#xA;&gt;    gpg: Good signature from &#34;Wladimir J. van der Laan &lt;laanwj at gmail.com&gt;&#34;&#xA;&gt;    Author: Wladimir J. van der Laan &lt;laanwj at gmail.com&gt;&#xA;&gt;    Date:   Wed May 21 12:27:37 2014 +0200&#xA;&gt; &#xA;&gt;        qt: Periodic language update&#xA;&gt;    ...&#xA;&gt; &#xA;&gt; You can also pass the --show-signature option to `git show` to check a&#xA;&gt; single commit.&#xA;&gt; &#xA;&gt; If you do this on the current repository you&#39;ll see that I&#39;m almost&#xA;&gt; the only person signing commits. I would like more people to get into&#xA;&gt; this habit.&#xA;&gt; &#xA;&gt; How to sign merges?&#xA;&gt; --------------------------------&#xA;&gt; &#xA;&gt; When using the github interface to merge a pull request, the resulting&#xA;&gt; merge commit is not signed.&#xA;&gt; &#xA;&gt; Pieter Wullie wrote a script that simplifies merging and signing. It&#xA;&gt; can be found in contrib/devtools. Setup instructions can be found in&#xA;&gt; the README.md in that directory. After setting it up for the&#xA;&gt; repository you can use the script in the following way:&#xA;&gt; &#xA;&gt;    contrib/devtools/github-merge.sh 1234&#xA;&gt; &#xA;&gt; Replace 1234 by the pull request number that you want to merge. It&#xA;&gt; will merge the pull request and drop you into a shell so you can&#xA;&gt; verify changes and test. Once satisfied, exit the shell and answer the&#xA;&gt; questions to merge and sign it and push upstream automatically (or&#xA;&gt; not).&#xA;&gt; &#xA;&gt; Please use this script when possible for merging instead of the github&#xA;&gt; interface.&#xA;&gt; &#xA;&gt; --------------------------&#xA;&gt; &#xA;&gt; Wladimir&#xA;&gt; &#xA;&gt; ------------------------------------------------------------------------------&#xA;&gt; &#34;Accelerate Dev Cycles with Automated Cross-Browser Testing - For FREE&#xA;&gt; Instantly run your Selenium tests across 300+ browser/OS combos.&#xA;&gt; Get unparalleled scalability from the best Selenium testing platform available&#xA;&gt; Simple to use. Nothing to install. Get started now for free.&#34;&#xA;&gt; http://p.sf.net/sfu/SauceLabs&#xA;&gt; _______________________________________________&#xA;&gt; Bitcoin-development mailing list&#xA;&gt; Bitcoin-development at lists.sourceforge.net&#xA;&gt; https://lists.sourceforge.net/lists/listinfo/bitcoin-development&#xA;&#xA;-------------- next part --------------&#xA;An HTML attachment was scrubbed...&#xA;URL: &lt;http://lists.linuxfoundation.org/pipermail/bitcoin-dev/attachments/20140521/39a9fcfc/attachment.html&gt;&#xA;-------------- next part --------------&#xA;A non-text attachment was scrubbed...&#xA;Name: signature.asc&#xA;Type: application/pgp-signature&#xA;Size: 842 bytes&#xA;Desc: Message signed with OpenPGP using GPGMail&#xA;URL: &lt;http://lists.linuxfoundation.org/pipermail/bitcoin-dev/attachments/20140521/39a9fcfc/attachment.sig&gt;</html></oembed>