diff options
author | Johannes Schindelin <johannes.schindelin@gmx.de> | 2016-11-26 13:48:02 +0100 |
---|---|---|
committer | Junio C Hamano <gitster@pobox.com> | 2016-11-28 10:46:28 -0800 |
commit | 05f2dfb965476a59050b7c3446b1281bdcac7051 (patch) | |
tree | c1036fddbbdfb0d4495505d936c158b1fefc9ebc /t | |
parent | merge: avoid "safer crlf" during recording of merge results (diff) | |
download | tgif-05f2dfb965476a59050b7c3446b1281bdcac7051.tar.xz |
cherry-pick: demonstrate a segmentation fault
In https://github.com/git-for-windows/git/issues/952, a complicated
scenario was described that leads to a segmentation fault in
cherry-pick.
It boils down to a certain code path involving a renamed file that is
dirty, for which `refresh_cache_entry()` returns `NULL`, and that
`NULL` not being handled properly.
Signed-off-by: Johannes Schindelin <johannes.schindelin@gmx.de>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
Diffstat (limited to 't')
-rwxr-xr-x | t/t3501-revert-cherry-pick.sh | 12 |
1 files changed, 12 insertions, 0 deletions
diff --git a/t/t3501-revert-cherry-pick.sh b/t/t3501-revert-cherry-pick.sh index 51f3bbb8af..5bef564ff1 100755 --- a/t/t3501-revert-cherry-pick.sh +++ b/t/t3501-revert-cherry-pick.sh @@ -141,4 +141,16 @@ test_expect_success 'cherry-pick "-" works with arguments' ' test_cmp expect actual ' +test_expect_failure 'cherry-pick works with dirty renamed file' ' + test_commit to-rename && + git checkout -b unrelated && + test_commit unrelated && + git checkout @{-1} && + git mv to-rename.t renamed && + test_tick && + git commit -m renamed && + echo modified >renamed && + git cherry-pick refs/heads/unrelated +' + test_done |