Subject: Questions/investigations on git-subtree and tags

From: Jeremy Rosen <[email-masked]>
Date: Thu, 7 Mar 2013 11:25:59 +0100 (CET)

Hello everybody

I am trying to use git-subtree to follow a subproject but I have a couple of problems and I am not sure if I am doing something wrong 

Basically I am trying to use a tag on the subproject as my "base" for the subproject but subtree doesn't seem to handle that properly

my first attempt was to simply do 

"git subtree add --squash git://git.buildroot.net/buildroot 2013.02" 

but subtree refused, telling me that the SHA of the tag is not a valid commit. 
Ok it makes sense, though I think this is a very valid use-case...

so I tried

"git subtree add git://git.buildroot.net/buildroot 2013.02^{commit}" 

which was refused because git fetch can't parse the ^{commit} marker.
Again it makes sense, but I really want to start from that tag.

so I tried

"git fetch git://git.buildroot.net/buildroot 2013.02"
"git subtree add --squash FETCH_HEAD"

which worked. Ok at that point I am slightly abusing git subtree, but it seems a valid usage

except that this last attempt causes serious problems when trying to split out the tree again

the call to "git commit-tree" within "git subtree split" complains that the SHA of the parent
is not a valid commit SHA. Which is true, it's the SHA of the tag.

At this point I am not sure if I am abusing subtree, if I have a legitimate but unimplemented use-case and how to 
fix/implement it.

the squash-commit message only contains the SHA of the tag, should it contain the SHA of the commit ?

"subtree split" can only handle commit SHA, should it somehow follow tag SHA too ? how ?

this is probably a trivial fix for someone with good knowledge of git-subtree but i'm not there yet, so any hint would be welcomed

    Regards

    Jérémy Rosen

fight key loggers : write some perl using vim