Lea Wiemann schrieb: > Previously, cat-file --batch / --batch-check would silently exit if it > was passed a non-existent SHA1 on stdin. Now it prints "<SHA1> > missing" as in all other cases (and as advertised in the > documentation). Makes sense! > diff --git a/builtin-cat-file.c b/builtin-cat-file.c > index f8b3160..112b9db 100644 > --- a/builtin-cat-file.c > +++ b/builtin-cat-file.c > @@ -168,8 +168,11 @@ static int batch_one_object(const char *obj_name, int print_contents) > else > type = sha1_object_info(sha1, &size); > > - if (type <= 0) > - return 1; > + if (type <= 0) { > + printf("%s missing\n", obj_name); > + fflush(stdout); > + return 0; > + } With this change an invalid name and a non-existing SHA1 are treated as "missing". But an empty name is still an error, which we don't see here because it's outside the hunk's context: It is the first thing that the function checks, and there it exits with return 1. Why is this case still special? -- Hannes -- To unsubscribe from this list: send the line "unsubscribe git" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html