Merge branch 'js/rerere-forget-protect-against-NUL' into maint

* js/rerere-forget-protect-against-NUL:
  rerere forget: do not segfault if not all stages are present
  rerere forget: grok files containing NUL
This commit is contained in:
Junio C Hamano
2013-04-22 11:26:56 -07:00
2 changed files with 36 additions and 10 deletions

View File

@ -44,14 +44,21 @@ prime_resolve_undo () {
test_expect_success setup '
mkdir fi &&
printf "a\0a" >binary &&
git add binary &&
test_commit initial fi/le first &&
git branch side &&
git branch another &&
printf "a\0b" >binary &&
git add binary &&
test_commit second fi/le second &&
git checkout side &&
test_commit third fi/le third &&
git branch add-add &&
git checkout another &&
test_commit fourth fi/le fourth &&
git checkout add-add &&
test_commit fifth add-differently &&
git checkout master
'
@ -167,4 +174,22 @@ test_expect_success 'rerere and rerere forget (subdirectory)' '
test_cmp expect actual
'
test_expect_success 'rerere forget (binary)' '
git checkout -f side &&
printf "a\0c" >binary &&
git commit -a -m binary &&
test_must_fail git merge second &&
git rerere forget binary
'
test_expect_success 'rerere forget (add-add conflict)' '
git checkout -f master &&
echo master >add-differently &&
git add add-differently &&
git commit -m "add differently" &&
test_must_fail git merge fifth &&
git rerere forget add-differently 2>actual &&
test_i18ngrep "no remembered" actual
'
test_done