Subject: Re: [PATCH 6/8] cogito: Don't ever assume object type in cg-object-id

From: Pavel Roskin <[email-masked]>
Date: Thu, 22 Sep 2005 11:37:59 -0400

Hi, Petr!

On Thu, 2005-09-22 at 11:46 +0200, Petr Baudis wrote:
> $ git-fsck-objects
> error: b3e9704ecdf48869f635f0aa99ddfb513f885aff: object not found
> 
> and some dangling stuff, that's all I get. This seems to be caused by
> the mere existence of that (empty) file, so I just removed it from the
> objects database and all is fine now.

Maybe kernel.org site is not in sync yet, but anyway, here's what I
found.

I ran this script:

[proski@dv cogito]$ for i in .git/refs/tags/*; do git-tar-tree `cat $i` >/dev/null || echo $i; done
fatal: not a reference to a tag, commit or tree object: 463d05c7c4fe7f24da29749f4c7f25893fc20b8c
.git/refs/tags/git-pasky-0.1
fatal: not a reference to a tag, commit or tree object: 2c70421be7d88fbee49986d7a5584d1f010a25de
.git/refs/tags/git-pasky-0.2
fatal: not a reference to a tag, commit or tree object: d14925c87cdb6ca6345bcb3c8e34a2d659c79451
.git/refs/tags/git-pasky-0.3

If I delete the bad tags and prune the tree, git-fsck-objects has
nothing to complain about:

[proski@dv cogito]$ rm .git/refs/tags/git-pasky-0.1
[proski@dv cogito]$ rm .git/refs/tags/git-pasky-0.2
[proski@dv cogito]$ rm .git/refs/tags/git-pasky-0.3
[proski@dv cogito]$ git-prune origin `cat .git/refs/tags/*`
[proski@dv cogito]$ git-fsck-objects 
[proski@dv cogito]$

That's probably what you should do on the master tree if you haven't
done it.

I can run "git-prune origin", but then cg-fetch would refetch objects
for more tags:

Missing object of tag cogito-0.12... retrieved
Missing object of tag cogito-0.12.1... retrieved
Missing object of tag cogito-0.13... retrieved
Missing object of tag cogito-0.14... retrieved
Missing object of tag cogito-0.14.1... retrieved
Missing object of tag cogito-0.14.2... retrieved
Missing object of tag cogito-0.15... retrieved
Missing object of tag git-pasky-0.1... retrieved
Missing object of tag git-pasky-0.2... retrieved
Missing object of tag git-pasky-0.3... retrieved

How come that cogito-0.12 - cogito-0.15 are not on the origin tree, but
older cogito tags are?

-- 
Regards,
Pavel Roskin