Re: [PATCH 6/8] cogito: Don't ever assume object type in cg-object-id
- From
Petr Baudis <pasky@suse.cz>
- Date
- Sep 22, 2005, 15:50 UTC
- Message-ID
- <20050922155025.GK21019@pasky.or.cz>
- In-Reply-To
- <1127403479.14856.13.camel@dv>
Dear diary, on Thu, Sep 22, 2005 at 05:37:59PM CEST, I got a letter where Pavel Roskin <proski@gnu.org> told me that...
> Hi, Petr!
Hi,
Show 10 quoted lines
> 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.
root 4036 2.7 2.8 106756 104080 ? SN 00:04 14:32 rsync
:/
Show 9 quoted lines
> 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
Huh. Huh?
xpasky@machine[1:0]~/git-devel$ git-cat-file -t $(cg-object-id git-pasky-0.1) commit xpasky@machine[1:0]~/git-devel$ git-cat-file -t $(cg-object-id git-pasky-0.2) commit xpasky@machine[1:0]~/git-devel$ git-cat-file -t $(cg-object-id git-pasky-0.3) commit
Same on master.kernel.org.
Show 16 quoted lines
> 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?
That's because the older tags tag commits directly, not tag objects. git-prune removed the tag objects because they were unreferenced by its perspective. Anyway, git-prune without any arguments should get it right.
-- Petr "Pasky" Baudis Stuff: http://pasky.or.cz/ VI has two modes: the one in which it beeps and the one in which it doesn't.