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

[Request for Documentation] Differentiate signed (commits/tags/pushes)

From
Stefan Beller <sbeller@google.com>
Date
Mar 6, 2017, 19:59 UTC
Message-ID
<CAGZ79kYxD9B_+3vBgO+Z-wh2GMg_REazA-xpTSAqe3_64VMV3w@mail.gmail.com>

When discussing migrating to a new hashing function, I tried to learn about the subtleties of the different things that can be gpg-signed in Git.

What is the difference between signed commits and tags? (Not from a technical perspective, but for the end user)

Both of them certify that a given tree is the desired content for your repository, but git-tag seems to be designed for conveying a trusted state to collaborators, whereas git-commit is primarily designed to just record a state.

So in which case would I want to use a signed commit? (which then overlaps with signed pushes)

A signed push can certify that a given payload (consisting of multiple commits on possibly multiple branches) was transmitted to a remote, which can be recorded by the remote as e.g. a proof of work.

The man page of git-commit doesn't discuss gpg signing at all, git-tag has some discussion on how to properly use tags. Maybe there we could have a discussion on when not to use tags, but rather signed commits?

Off list I was told gpg-signed commits are a "checkbox feature", i.e. no real world workflow would actually use it. (That's a bold statement, someone has to use it as there was enough interest to implement it, no?)

Thanks, Stefan

Next: Junio C Hamano
Message 1 of 13 in “[Request for Documentation] Differentiate signed (commits/tags/pushes)”
  1. Stefan BellerMar 6, 2017
  2. Junio C HamanoMar 6, 2017
  3. Stefan BellerMar 6, 2017
  4. Junio C HamanoMar 7, 2017
  5. Stefan BellerMar 7, 2017
  6. Jakub NarębskiMar 6, 2017
  7. Junio C HamanoMar 7, 2017
  8. Junio C HamanoMar 6, 2017
  9. Jeff KingMar 7, 2017
  10. Tom JonesMar 7, 2017
  11. Stefan BellerMar 7, 2017
  12. Jeff KingMar 8, 2017
  13. Matthieu MoyMar 7, 2017

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.