diff options
-rw-r--r-- | builtin/branch.c | 4 | ||||
-rwxr-xr-x | t/t3200-branch.sh | 4 |
2 files changed, 8 insertions, 0 deletions
diff --git a/builtin/branch.c b/builtin/branch.c index cb17bc367..d8cccf725 100644 --- a/builtin/branch.c +++ b/builtin/branch.c @@ -530,6 +530,10 @@ static int print_ref_list(int kinds, int detached, int verbose, int abbrev, stru if (merge_filter != NO_FILTER) { struct commit *filter; filter = lookup_commit_reference_gently(merge_filter_ref, 0); + if (!filter) + die("object '%s' does not point to a commit", + sha1_to_hex(merge_filter_ref)); + filter->object.flags |= UNINTERESTING; add_pending_object(&ref_list.revs, (struct object *) filter, ""); diff --git a/t/t3200-branch.sh b/t/t3200-branch.sh index dd1acebd8..9fe1d8fea 100755 --- a/t/t3200-branch.sh +++ b/t/t3200-branch.sh @@ -653,4 +653,8 @@ test_expect_success 'refuse --edit-description on unborn branch for now' ' ) ' +test_expect_success '--merged catches invalid object names' ' + test_must_fail git branch --merged 0000000000000000000000000000000000000000 +' + test_done |