diff options
author | Junio C Hamano <gitster@pobox.com> | 2018-09-24 20:30:48 +0300 |
---|---|---|
committer | Junio C Hamano <gitster@pobox.com> | 2018-09-24 20:30:48 +0300 |
commit | bd3941a0aed0756aba43f504d0dea7a3fbe0c82b (patch) | |
tree | 17d9c22f6491f77904aa727ccfc833c9150d441b /t/t4200-rerere.sh | |
parent | e3d4ff037db41234eaf74167ab7d1a443c23243d (diff) | |
parent | ad2bf0d9b43433583e88128c278ce31c7ca4e431 (diff) |
Merge branch 'en/rerere-multi-stage-1-fix'
A corner case bugfix in "git rerere" code.
* en/rerere-multi-stage-1-fix:
rerere: avoid buffer overrun
t4200: demonstrate rerere segfault on specially crafted merge
Diffstat (limited to 't/t4200-rerere.sh')
-rwxr-xr-x | t/t4200-rerere.sh | 29 |
1 files changed, 29 insertions, 0 deletions
diff --git a/t/t4200-rerere.sh b/t/t4200-rerere.sh index 428b3c1e9e..55b7750ade 100755 --- a/t/t4200-rerere.sh +++ b/t/t4200-rerere.sh @@ -642,4 +642,33 @@ test_expect_success 'rerere with inner conflict markers' ' test_cmp expect actual ' +test_expect_success 'setup simple stage 1 handling' ' + test_create_repo stage_1_handling && + ( + cd stage_1_handling && + + test_seq 1 10 >original && + git add original && + git commit -m original && + + git checkout -b A master && + git mv original A && + git commit -m "rename to A" && + + git checkout -b B master && + git mv original B && + git commit -m "rename to B" + ) +' + +test_expect_success 'test simple stage 1 handling' ' + ( + cd stage_1_handling && + + git config rerere.enabled true && + git checkout A^0 && + test_must_fail git merge B^0 + ) +' + test_done |