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.htmlReceived on Tue Dec 13 12:07:29 2005
This archive was generated by hypermail 2.1.8 : 2005-12-13 12:07:36 EST