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
This commit is contained in:
Junio C Hamano 2017-10-18 14:19:01 +09:00
commit 16ba0f44c0
2 changed files with 7 additions and 2 deletions

View File

@ -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);

View File

@ -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 <" &&