diff options
author | David Reiss <dreiss@facebook.com> | 2009-12-22 10:51:41 -0800 |
---|---|---|
committer | Junio C Hamano <gitster@pobox.com> | 2009-12-22 11:51:17 -0800 |
commit | c8cba79181abc139d7cba364bf868875426fc2c1 (patch) | |
tree | fbe48748ccb1778d9173bf2816ef8a0812e222b2 /t | |
parent | e49ca974d6ff2dda1ff4ee39e7cc33af33d1eb2a (diff) | |
download | git-c8cba79181abc139d7cba364bf868875426fc2c1.tar.gz |
Prevent git blame from segfaulting on a missing author name
The human-readable author and committer name can be missing from
commits imported from foreign SCM interfaces. Make sure we parse
the "author" and "committer" line a bit more leniently and avoid
segfaulting by assuming the name always exists.
Signed-off-by: David Reiss <dreiss@facebook.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
Diffstat (limited to 't')
-rwxr-xr-x | t/t8003-blame.sh | 13 |
1 files changed, 13 insertions, 0 deletions
diff --git a/t/t8003-blame.sh b/t/t8003-blame.sh index 13c25f1d52..ad834f200a 100755 --- a/t/t8003-blame.sh +++ b/t/t8003-blame.sh @@ -144,4 +144,17 @@ test_expect_success 'blame path that used to be a directory' ' git blame HEAD^.. -- path ' +test_expect_success 'blame to a commit with no author name' ' + TREE=`git rev-parse HEAD:` + cat >badcommit <<EOF +tree $TREE +author <noname> 1234567890 +0000 +committer David Reiss <dreiss@facebook.com> 1234567890 +0000 + +some message +EOF + COMMIT=`git hash-object -t commit -w badcommit` + git --no-pager blame $COMMIT -- uno >/dev/null +' + test_done |