Thread (3 messages) flat view 3 messages, 2 authors, 2016-06-15

Re: qgit reports errors in the git repository

From: Linus Torvalds <torvalds@osdl.org>
Date: 2016-06-15 22:42:14


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
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help