apenwarr/git-subtree — pull request #9 by amzz (2012-02-17 14:07:06+00:00)
Title: Updated git-subtree.sh to handle annotated tags

Command was using tag SHA1 key although it should dereference the tag for certain commit before running the 'git subtree pull'.

Below example that triggered the issue

# Pull older version of ofc_lib
> git subtree pull -P plesiosync_lib/ip/ofc_lib ofc_lib ofc_lib-v0.3 --squash -d
# Hack sub-project in super-project
> xemacs -nw plesiosync_lib/ip/ofc_lib/src/overflowcontrol.vhdl
> git commit -am "testing hack"
# Pull latest ofc-lib
> git subtree pull -P plesiosync_lib/ip/ofc_lib ofc_lib ofc_lib-v0.7 --squash -d
# Resolve conflict
> git mergetool
> git commit
# Check the commit id for ofc_lib
> git subtree split -P plesiosync_lib/ip/ofc_lib
fatal: 7e5957c2b61a46221b9c02c43e1f9c3925eacb76 is not a valid 'commit' object
Can't copy commit 2ff99337166eb08db236828cce4384430390a37c

The hash key in fatal line is the annotateg tag key and not the actual commit key.