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

Git subtree stumbles over annotated tags

From
GJGregor Jasny <gjasny@googlemail.com>
Date
Mar 10, 2016, 15:51 UTC
Message-ID
<56E19809.5040305@googlemail.com>
Hello,

today I discovered that it's a bad idea to "git subtree pull" from an annotated tag. This issue got discussed in those two threads:

http://comments.gmane.org/gmane.comp.version-control.git/247503 http://comments.gmane.org/gmane.comp.version-control.git/248395

I was under the impression that it is fixed in recent versions of git but my homebrew 2.7.0 still behaves badly. If I run the attached script to reproduce the issue I get the following error message:

> git push using:  sub somebranch
> fatal: 6d621d73ca18dc90424de0929357b5ae62988e00 is not a valid 'commit' object
> Can't copy commit ab38e3fe1ff27f7f87505db37d35adc5c3ceed27
Show 5 quoted lines
> git ls-remote sub
> 99be40f8e3a4c926d45507be53ab6918789b3a52	HEAD
> 99be40f8e3a4c926d45507be53ab6918789b3a52	refs/heads/master
> 6d621d73ca18dc90424de0929357b5ae62988e00	refs/tags/sometag
> 99be40f8e3a4c926d45507be53ab6918789b3a52	refs/tags/sometag^{}

Besides handling this bug could you please give me a hint how to repair my main repository? The problematic subtree pull happened some time ago so I cannot alter the pull itself. I could go the brutal approach and remove, then re-add the subtree but I guess there is a smarter approach. Any help is appreciated!

Thanks, Gregor

Next: Gregor Jasny
Message 1 of 3 in “Git subtree stumbles over annotated tags”
  1. Gregor JasnyMar 10, 2016
  2. Gregor JasnyMar 17, 2016
  3. David A. GreeneMay 21, 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.