test_expect_success 'rebase -i with the exec command runs from tree root' '
git checkout master &&
- mkdir subdir && cd subdir &&
+ mkdir subdir && (cd subdir &&
FAKE_LINES="1 exec_>touch-subdir" \
- git rebase -i HEAD^ &&
- cd .. &&
+ git rebase -i HEAD^
+ ) &&
test_path_is_file touch-subdir &&
rm -fr subdir
'
git rm --cached file1 &&
git commit -m "remove file in base" &&
test_must_fail git rebase -i master > output 2>&1 &&
- grep "Untracked working tree file .file1. would be overwritten" \
+ grep "The following untracked working tree files would be overwritten by checkout:" \
output &&
+ grep "file1" output &&
test_path_is_missing .git/rebase-merge &&
git reset --hard HEAD^
'
git commit -a -m "end with slash\\" &&
echo >>file1 &&
test_tick &&
+ git commit -a -m "something (\000) that looks like octal" &&
+ echo >>file1 &&
+ test_tick &&
+ git commit -a -m "something (\n) that looks like a newline" &&
+ echo >>file1 &&
+ test_tick &&
git commit -a -m "another commit"
'
test_expect_success 'rebase-i history with funny messages' '
git rev-list A..funny >expect &&
test_tick &&
- FAKE_LINES="1 2" git rebase -i A &&
+ FAKE_LINES="1 2 3 4" git rebase -i A &&
git rev-list A.. >actual &&
test_cmp expect actual
'