3 test_description
='rebase can handle submodules'
6 .
"$TEST_DIRECTORY"/lib-submodule-update.sh
7 .
"$TEST_DIRECTORY"/lib-rebase.sh
10 git status
-su >expect
&&
12 git checkout
-b ours HEAD
&&
15 git commit
-m add_x
&&
17 git status
-su >actual
&&
19 test_cmp expect actual
&&
20 may_only_be_test_must_fail
"$2" &&
24 test_submodule_switch_func
"git_rebase"
26 git_rebase_interactive
() {
27 git status
-su >expect
&&
29 git checkout
-b ours HEAD
&&
32 git commit
-m add_x
&&
34 git status
-su >actual
&&
36 test_cmp expect actual
&&
39 echo "fake-editor.sh" >.git
/info
/exclude
&&
40 may_only_be_test_must_fail
"$2" &&
44 test_submodule_switch_func
"git_rebase_interactive"
46 test_expect_success
'rebase interactive ignores modified submodules' '
47 test_when_finished "rm -rf super sub" &&
49 git -C sub commit --allow-empty -m "Initial commit" &&
51 git -c protocol.file.allow=always \
52 -C super submodule add ../sub &&
53 git -C super config submodule.sub.ignore dirty &&
55 git -C super add foo &&
56 git -C super commit -m "Initial commit" &&
57 test_commit -C super a &&
58 test_commit -C super b &&
59 test_commit -C super/sub c &&
61 git -C super rebase -i HEAD^^