Re: qgit reports errors in the git repository

From: Linus Torvalds <torvalds@osdl.org>
Date: 2005-12-13 12:06:47
On Mon, 12 Dec 2005, Pavel Roskin wrote:
>
> Git says:
> fatal: git-cat-file 23ea3e201cea0deea909569e08e950a9ec2345f7: bad file
> 
> I believe qgit runs "git-cat-file -t tag" on in, but it's a commit.  If
> I change the git-cat-file invocation in  src/git_startup.cpp to use
> "commit" instead of "tag", qgit complains about
> 0918385dbd9656cab0d1d81ba7453d49bbc16250.
> 
> Maybe qgit should check the type of the object first?  Or maybe there
> should another type for git-cat-file that would match both tag and
> commit?

Using "git-cat-file commit <object>" already works for both real commits 
and for tags that point to commits.

However, the "0918385dbd9656cab0d1d81ba7453d49bbc16250" object is a tag 
that points to a blob (Junios public gpg key), so you can't use that.

Basically, qgit should do either:

 - check the type of the object by hand first (using "git-cat-file -t" and 
   then follow any tags it finds by hand)

_or_ 

 - just use "git-cat-file commit" and if an error occurs, just silently 
   ignore that ref since it doesn't understand them.

which one is the right strategy depends on usage.

		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.html
Received on Tue Dec 13 12:07:29 2005

This archive was generated by hypermail 2.1.8 : 2005-12-13 12:07:36 EST