diff options
author | Junio C Hamano <gitster@pobox.com> | 2016-02-05 14:54:10 -0800 |
---|---|---|
committer | Junio C Hamano <gitster@pobox.com> | 2016-02-05 14:54:10 -0800 |
commit | 90b99869d4ab750b7de0250f02d4c3f08c86f61b (patch) | |
tree | f67e438274e8802d0f11e95a8e7df969f1c41bdb /t | |
parent | 7aae9ba6613c38d9f275955af80881fb67ddbd8a (diff) | |
parent | aecad374ae7492cc7b2add5fa416d43e1f68c18e (diff) | |
download | git-90b99869d4ab750b7de0250f02d4c3f08c86f61b.tar.gz |
Merge branch 'dk/reflog-walk-with-non-commit' into maint
"git reflog" incorrectly assumed that all objects that used to be
at the tip of a ref must be commits, which caused it to segfault.
* dk/reflog-walk-with-non-commit:
reflog-walk: don't segfault on non-commit sha1's in the reflog
Diffstat (limited to 't')
-rwxr-xr-x | t/t1410-reflog.sh | 13 |
1 files changed, 13 insertions, 0 deletions
diff --git a/t/t1410-reflog.sh b/t/t1410-reflog.sh index b79049f6f6..17a194bfa6 100755 --- a/t/t1410-reflog.sh +++ b/t/t1410-reflog.sh @@ -325,4 +325,17 @@ test_expect_success 'parsing reverse reflogs at BUFSIZ boundaries' ' test_cmp expect actual ' +test_expect_success 'no segfaults for reflog containing non-commit sha1s' ' + git update-ref --create-reflog -m "Creating ref" \ + refs/tests/tree-in-reflog HEAD && + git update-ref -m "Forcing tree" refs/tests/tree-in-reflog HEAD^{tree} && + git update-ref -m "Restoring to commit" refs/tests/tree-in-reflog HEAD && + git reflog refs/tests/tree-in-reflog +' + +test_expect_failure 'reflog with non-commit entries displays all entries' ' + git reflog refs/tests/tree-in-reflog >actual && + test_line_count = 3 actual +' + test_done |