git/list[1] front-page[2] threads[3] people[4] search[5] about
 

Re: I lost my commit signature

From
Michael J Gruber <git@drmicha.warpmail.net>
Date
Jun 17, 2016, 08:18 UTC
Message-ID
<171543e4-a343-c6d2-aa9a-2098db5b42ec@drmicha.warpmail.net>
In-Reply-To
<xmqqr3bx5ahp.fsf@gitster.mtv.corp.google.com>
Junio C Hamano venit, vidit, dixit 16.06.2016 19:06:
Show 27 quoted lines
> Jeff King <peff@peff.net> writes:
> 
>> But why does somebody run "commit -S" for a single commit, but not all
>> the time? Is it because that commit is special? Or is that particular
>> moment special? One implies that it's important for the signature to be
>> retained during a rebase, and one does not.
>>
>> So I dunno. I would not be opposed to such a feature, but I'm having
>> trouble figuring out why it would be useful (though for the most part, I
>> do not see why anything but per-project commit.gpgSign config is
>> particularly useful. Maybe I just lack imagination).
> 
> I am not so imaginative, either. One remotely plausible use case may
> be a project that has two classes of paths (let's call these classes
> sensitive and others), and requires its participants to sign commits
> that touch sensitive paths.  The user needs something finter grained
> than per-project commit.gpgSign there.
> 
> But even in such a case, the fact that an original commit is with a
> signature should not be a good indication that the rewritten version
> of that commit in the new history still touches the sensitive paths
> that required the original to be signed (i.e. the history the user
> is rebasing onto may already have the necessary changes to these
> paths).
> 
> So, I dunno, either.
> 

While I follow both of your lines of argumentation, I tend to claim that they imply: there is no reason to blindly sign any commit... We should dump that config :)

Since it's not possible to sign commits after the fact without rebasing (they are not "notes" attached to a commit but part of the commit) it is very conceivable to me that you build up your work with fine-grained commits and then, at some point where everything is ready and carefully inspected, you sign it. There are various possible reasons why you may not be able to rebase at that point. (I don't know why one wouldn't want to use signed tags here, but I never understood the need for signed commits in the first place.)

I guess users of signed commits with rebase should speak up so that we can serve them well.

Michael
Previous: Junio C HamanoNext: Junio C Hamano
Message 30 of 31 in “I lost my commit signature”
  1. ZhenTianJun 14, 2016
  2. Jeff KingJun 14, 2016
  3. ZhenTianJun 14, 2016
  4. Jeff KingJun 14, 2016
  5. ZhenTianJun 14, 2016
  6. Jeff KingJun 14, 2016
  7. ZhenTianJun 14, 2016
  8. Michael J GruberJun 14, 2016
  9. gpg-interface: check gpg signature for correct headerMichael J Gruber, Jun 14, 2016
  10. Jeff KingJun 14, 2016
  11. Michael J GruberJun 14, 2016
  12. Michael J GruberJun 14, 2016
  13. [PATCHv2] gpg-interface: check gpg signature for correct headerMichael J Gruber, Jun 14, 2016
  14. [PATCHv3] gpg-interface: check gpg signature creation statusMichael J Gruber, Jun 14, 2016
  15. Junio C HamanoJun 14, 2016
  16. Jeff KingJun 14, 2016
  17. Jeff KingJun 14, 2016
  18. Junio C HamanoJun 14, 2016
  19. Jeff KingJun 15, 2016
  20. Michael J GruberJun 15, 2016
  21. Jeff KingJun 16, 2016
  22. Michael J GruberJun 16, 2016
  23. Jeff KingJun 15, 2016
  24. ZhenTianJun 15, 2016
  25. Jeff KingJun 15, 2016
  26. Michael J GruberJun 15, 2016
  27. ZhenTianJun 15, 2016
  28. Jeff KingJun 16, 2016
  29. Junio C HamanoJun 16, 2016
  30. Michael J GruberJun 17, 2016
  31. Junio C HamanoJun 17, 2016

Read the whole thread, see it on lore, or plain text.

$ cat FOOTERMessages come from the public archive at lore.kernel.org/git, fetched every hour. The front page is chosen and written each morning by an AI editor and can be wrong; the threads themselves are the record. About and API. For agents: an MCP server at https://gitlist.dev/mcp, and any thread, story or person page as Markdown by adding .md to its URL (or sending Accept: text/markdown). Details in /llms.txt.