On Tue, 21 Jun 2005, Jeff Garzik wrote: > > $ git-prune-script > > $ git-fsck-cache > error: cannot map sha1 file c39ae07f393806ccf406ef966e9a15afc43cc36a > bad object in tag 5dc01c595e6c6ec9ccda4f6f69c131c0dd945f8c > bad sha1 entry '5dc01c595e6c6ec9ccda4f6f69c131c0dd945f8c' It's exactly the same thing that Jens had. You have a tag object for the v2.6.11-tree thing, but you don't have the reference to the tag. And now I realize what the problem is. It's _not_ that "git prune" has removed too much, like the obvious implication would be: it's that "git prune" has not removed _enough_. "git prune" normally never removes tag-objects, whether reachable or not. That's because git-fsck-cache was explicitly ignoring them, which was because early on, the way you found tags was you did git-fsck-cache --tags and then you created refs to them manually. But now that special case causes problems (and is no longer needed anyway), because it means that "git prune" will not remove unreachable tags, but it _will_ remove everything that an unreachable tag points to (because that is also unreachable). So the trivial fix is to just remove the lines from fsck-cache.c that say /* Don't bother with tag reachability. */ if (obj->type == tag_type) continue; and that will fix it for you. Will do. Linus - To unsubscribe from this list: send the line "unsubscribe git" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.htmlReceived on Thu Jun 23 12:12:30 2005
This archive was generated by hypermail 2.1.8 : 2005-06-23 12:12:32 EST