diff options
author | Junio C Hamano <gitster@pobox.com> | 2017-10-18 14:19:01 +0900 |
---|---|---|
committer | Junio C Hamano <gitster@pobox.com> | 2017-10-18 14:19:01 +0900 |
commit | 16ba0f44c0cac7c06cf7ce37498b8c83e0f3b69b (patch) | |
tree | d139e7e06986cee72d0ab30fc758ab827770b283 | |
parent | 501ec0dad31a5379ac7620f8655de882844fd3c1 (diff) | |
parent | cc0ea7c9e5c3d3bf9623415737b595c9d26b9b6d (diff) | |
download | git-16ba0f44c0cac7c06cf7ce37498b8c83e0f3b69b.tar.gz |
Merge branch 'jk/diff-blob' into maint
"git cat-file --textconv" started segfaulting recently, which
has been corrected.
* jk/diff-blob:
cat-file: handle NULL object_context.path
-rw-r--r-- | builtin/cat-file.c | 4 | ||||
-rwxr-xr-x | t/t8010-cat-file-filters.sh | 5 |
2 files changed, 7 insertions, 2 deletions
diff --git a/builtin/cat-file.c b/builtin/cat-file.c index 96b786e489..188ddc3e50 100644 --- a/builtin/cat-file.c +++ b/builtin/cat-file.c @@ -96,7 +96,7 @@ static int cat_one_file(int opt, const char *exp_type, const char *obj_name, return !has_object_file(&oid); case 'w': - if (!path[0]) + if (!path) die("git cat-file --filters %s: <object> must be " "<sha1:path>", obj_name); @@ -106,7 +106,7 @@ static int cat_one_file(int opt, const char *exp_type, const char *obj_name, break; case 'c': - if (!path[0]) + if (!path) die("git cat-file --textconv %s: <object> must be <sha1:path>", obj_name); diff --git a/t/t8010-cat-file-filters.sh b/t/t8010-cat-file-filters.sh index d8242e467e..0f86c19174 100755 --- a/t/t8010-cat-file-filters.sh +++ b/t/t8010-cat-file-filters.sh @@ -51,6 +51,11 @@ test_expect_success '--path=<path> complains without --textconv/--filters' ' grep "path.*needs.*filters" err ' +test_expect_success '--textconv/--filters complain without path' ' + test_must_fail git cat-file --textconv HEAD && + test_must_fail git cat-file --filters HEAD +' + test_expect_success 'cat-file --textconv --batch works' ' sha1=$(git rev-parse -q --verify HEAD:world.txt) && test_config diff.txt.textconv "tr A-Za-z N-ZA-Mn-za-m <" && |