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

Since when is a tag a commit?

From
Shawn Pearce <spearce@spearce.org>
Date
Aug 8, 2006, 02:12 UTC
Message-ID
<20060808021251.GA19548@spearce.org>
Current `next`:
  [spearce@pb15 git]$ git cat-file commit v1.4.1
  tree 34c8f9c263c1c20592d3f56c3d86bea322577155
  parent 6631c73685bea3c6300938f4900db0d0c6bee457
  author Linus Torvalds <torvalds@osdl.org> 1151691633 -0700
  committer Junio C Hamano <junkio@cox.net> 1151803695 -0700
  ...
Uhhh, that's a tag.  I know it is:
  [spearce@pb15 git]$ git cat-file tag v1.4.1
  object 0556a11a0df6b4119e01aa77dfb795561e62eb34
  type commit
  tag v1.4.1
  tagger Junio C Hamano <junkio@cox.net> 1151818415 -0700
  ...
And I know its not a tree:
  [spearce@pb15 git]$ git cat-file tree v1.4.1
  100644 .gitignore{?MX~ă????y?v?X?u100644 COPYINGo?...
So it better not be a blob:
  [spearce@pb15 git]$ git cat-file blob v1.4.1
  fatal: git-cat-file v1.4.1: bad file

What the heck is going on? Since when did git cat-file happily consider a tag to be a tag, a commit and a tree? Its that intentional that we're peeling back the object to the requested type?

-- 
Shawn.
Next: Daniel Barkalow
Message 1 of 3 in “Since when is a tag a commit?”
  1. Shawn PearceAug 8, 2006
  2. Daniel BarkalowAug 8, 2006
  3. Jakub NarebskiAug 8, 2006

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.