path: root/builtin
diff options
authorJeff King <>2013-03-17 08:23:31 (GMT)
committerJunio C Hamano <>2013-03-17 19:52:14 (GMT)
commitf7892d181752187513f10b13f2272fa46c9c8422 (patch)
treee2c442760956bc096f33a98cc4470a7aefb6ff2f /builtin
parent75a95490474ab6e991cbbbd10d980498a9109648 (diff)
use parse_object_or_die instead of die("bad object")
Some call-sites do: o = parse_object(sha1); if (!o) die("bad object %s", some_name); We can now handle that as a one-liner, and get more consistent output. In the third case of this patch, it looks like we are losing information, as the existing message also outputs the sha1 hex; however, parse_object will already have written a more specific complaint about the sha1, so there is no point in repeating it here. Signed-off-by: Jeff King <> Signed-off-by: Junio C Hamano <>
Diffstat (limited to 'builtin')
2 files changed, 2 insertions, 6 deletions
diff --git a/builtin/grep.c b/builtin/grep.c
index 0654e0b..08ea5fd 100644
--- a/builtin/grep.c
+++ b/builtin/grep.c
@@ -898,9 +898,7 @@ int cmd_grep(int argc, const char **argv, const char *prefix)
unsigned char sha1[20];
/* Is it a rev? */
if (!get_sha1(arg, sha1)) {
- struct object *object = parse_object(sha1);
- if (!object)
- die(_("bad object %s"), arg);
+ struct object *object = parse_object_or_die(sha1, arg);
add_object_array(object, arg, &list);
diff --git a/builtin/prune.c b/builtin/prune.c
index 6cb9944..67ca3d5 100644
--- a/builtin/prune.c
+++ b/builtin/prune.c
@@ -149,9 +149,7 @@ int cmd_prune(int argc, const char **argv, const char *prefix)
const char *name = *argv++;
if (!get_sha1(name, sha1)) {
- struct object *object = parse_object(sha1);
- if (!object)
- die("bad object: %s", name);
+ struct object *object = parse_object_or_die(sha1, name);
add_pending_object(&revs, object, "");