diff options
author | Junio C Hamano <gitster@pobox.com> | 2016-01-20 22:43:32 +0300 |
---|---|---|
committer | Junio C Hamano <gitster@pobox.com> | 2016-01-20 22:43:32 +0300 |
commit | ceef512e797115ae581cfbfd220334e20f1c7b28 (patch) | |
tree | bcb722598337cc1b9845172954de89432950dab8 /t | |
parent | 1576f783425b9cb7f7e54839c4a66adb2e95afea (diff) | |
parent | aecad374ae7492cc7b2add5fa416d43e1f68c18e (diff) |
Merge branch 'dk/reflog-walk-with-non-commit'
"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 |