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

Re: git "tag" objects implemented - and a re-done commit

From
HAH. Peter Anvin <hpa@zytor.com>
Date
Apr 25, 2005, 21:36 UTC
Message-ID
<426D62C0.40104@zytor.com>
In-Reply-To
<Pine.LNX.4.58.0504251213530.18901@ppc970.osdl.org>
Linus Torvalds wrote:
Show 23 quoted lines
> 
> Anyway, I decided that my original model for tags was the right one, with 
> a trivial extension. Notably, if you want to tag a single file or a tree 
> object, go wild. The tag object format is:
> 
> 	object <sha1>
> 	type <type>
> 	tag <tag>
> 	.. free-form commentary and signature of this all ..
> 
> and the "git-mktag" program verifies that the three first lines are valid 
> before it accepts it and writes it as a git object.
> 
> Right now the tags don't do anything, except fsck can verify them (not the
> signature - git doesn't even specify any particular format, and you may
> validly have unsigned tags in your tree), and will print out something
> like
> 
> 	tagged commit e83c5163316f89bfbde7d9ab23ca2e25604af290 (v2.6.12-rc2)
> 
> if you were to have such a tag-object in your object database (you don't, 
> because I've not generated one, but hey..)
> 

It would be good if the tag object could permit junk lines before the start of the header; in particular, the standard PGP/GPG signed message format looks like:

-----BEGIN PGP SIGNED MESSAGE-----
object aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
type commit
tag foo
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.2.6 (GNU/Linux)

iQEVAwUBQm1hyWx5eAAqlgcFAQEShgf+P/PNJu5h1uAVPp9+xSy8QtIIC/1Zpl6a 2Tp22Bw0hfXUNYoJ7O9TH35wttYbcx8ArXl6JhlMIEcV7rS48H/vmTJgtBwnhLSb epDPbOriLbCl9E0XXPHqrlmQE07H0iZn2dmLyg2REmtdffi3hjSQIkvFSHy72kOe Ho6H+s2hzs/u/ypkQ8Cl82Saqn/Drahj9ehdXLRQ5Nsslr71MhwRCD5M0x+0Uy0B KPjBiyyx6g/qWzIRLZOdkdbSUdXjczlGnm2wwC6/RdBDjeagDBGafaiuNQH8W3sx psfmqKgKZkCBFFlSvwJQAsRFgnVl2vYUAftRaxMnQlCG7COIjNAsdg== =lsn0 -----END PGP SIGNATURE-----

As an alternative, the signature can be a separate object, since the object SHA-1 itself acts as a verifier of its self-content; thus, all that is really necessary is an authorized verifier.

	-hpa
Previous: Linus TorvaldsNext: Linus Torvalds
Message 11 of 14 in “git "tag" objects implemented - and a re-done commit”
  1. Linus TorvaldsApr 25, 2005
  2. Andreas GalApr 25, 2005
  3. Linus TorvaldsApr 25, 2005
  4. Andreas GalApr 25, 2005
  5. Linus TorvaldsApr 25, 2005
  6. Linus TorvaldsApr 25, 2005
  7. SeanApr 26, 2005
  8. Ryan AndersonApr 26, 2005
  9. Matthias UrlichsApr 27, 2005
  10. Linus TorvaldsApr 27, 2005
  11. H. Peter AnvinApr 25, 2005
  12. Linus TorvaldsApr 25, 2005
  13. Petr BaudisApr 25, 2005
  14. Linus TorvaldsApr 25, 2005

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.