From: Linus Torvalds Date: Mon, 20 Jun 2005 15:58:24 GMT Subject: Re: git merging Message-ID: In-Reply-To: <20050620123053.GI15021@suse.de> [ Daniel put on the To: list to see if he can confirm or deny my theory ] On Mon, 20 Jun 2005, Jens Axboe wrote: > > axboe@nelson:[.]l/git/linux-2.6-block.git $ git prune > error: cannot map sha1 file c39ae07f393806ccf406ef966e9a15afc43cc36a That's the 2.6.11 "tree" object. > bad sha1 entry '5dc01c595e6c6ec9ccda4f6f69c131c0dd945f8c' > axboe@nelson:[.]l/git/linux-2.6-block.git $ git-fsck-cache > error: cannot map sha1 file c39ae07f393806ccf406ef966e9a15afc43cc36a > bad object in tag 5dc01c595e6c6ec9ccda4f6f69c131c0dd945f8c > bad sha1 entry '5dc01c595e6c6ec9ccda4f6f69c131c0dd945f8c' > > Running git prune again gives me the same output. What is wrong? Very interesting. You have my "v2.6.11-tree" tag file pointing the 2.6.11 tree object, but you seem to not have that 2.6.11 tree itself. Actually, judging from the fact that you got this error _during_ the prune, maybe you never had it in that repository in the first place? In particular, if you don't use "rsync", but instead use one of the "optimized pull" things to create a repository (ie git-http-pull or git-ssh-pull), I think your newly pulled tree will always miss anything that isn't a head. And the 2.6.11 tree is a special case: it's a pure "tree" object without any commit at all pointing to it, just a single tag that points directly to the tree. Anyway, the fact that you're missing the original 2.6.11 tree doesn't really matter, so it's not a huge deal per se. You can re-populate it with an "rsync -avz --ignore-existing", but clearly something seems to be wrong. Daniel: I think git-ssh-pull has problems with any refs that aren't commits. I also noticed earlier that I can't use git-ssh-push -w to write a tag - it is apparently unhappy because it would write a "tag" object, and it only wants to write references to "commit" objects. The same thing might be true about the special "tag to a tree" object? Jeff, do you remember (did you check?) if your prune problems might also have been about the tag to a tree? Linus