On 08/30/2011 01:15 AM, Somebody in the thread at some point said:
Anyway, this isn't an issue with repo, its a sha1 reachability issue. repo 's just a foreach git tool.
What do you mean "SHA1 reachability"? I can "reach" arbitrary HEADs using a hash even if they're not tagged so long as I didn't garbage collect. If I tagged them they're guaranteed to not be garbage collected. I can always "reach" them for checkout. So what is this "reachability" issue?
The way Paul described it, it sounds like a limitation with this repo script that it depends on specifically a branch has been checked out.
All repo is doing with a pinned-manifest.xml is:
foreach git in this manifest checkout sha1
so as long as you can checkout the sha1 everything is cool. The reason
I think you missed my point, if I tagged it, you CAN check it out. So "reachability" is not the issue.
When you check out a hash that is not a branch head, git acts slightly differently on some commands because the HEAD hash does not match any branch. I guess this repo script is not proof against those differences, which is easy to happen if you only tested it on branches, and probably not that difficult to solve either.
Is it perhaps possible to improve "repo" instead?
-Andy