mirror of
https://github.com/git/git
synced 2024-11-05 18:59:29 +00:00
47 lines
1.1 KiB
Bash
47 lines
1.1 KiB
Bash
|
#!/bin/sh
|
||
|
|
||
|
test_description='rebase can handle submodules'
|
||
|
|
||
|
. ./test-lib.sh
|
||
|
. "$TEST_DIRECTORY"/lib-submodule-update.sh
|
||
|
. "$TEST_DIRECTORY"/lib-rebase.sh
|
||
|
|
||
|
git_rebase () {
|
||
|
git status -su >expect &&
|
||
|
ls -1pR * >>expect &&
|
||
|
git checkout -b ours HEAD &&
|
||
|
echo x >>file1 &&
|
||
|
git add file1 &&
|
||
|
git commit -m add_x &&
|
||
|
git revert HEAD &&
|
||
|
git status -su >actual &&
|
||
|
ls -1pR * >>actual &&
|
||
|
test_cmp expect actual &&
|
||
|
git rebase "$1"
|
||
|
}
|
||
|
|
||
|
test_submodule_switch "git_rebase"
|
||
|
|
||
|
git_rebase_interactive () {
|
||
|
git status -su >expect &&
|
||
|
ls -1pR * >>expect &&
|
||
|
git checkout -b ours HEAD &&
|
||
|
echo x >>file1 &&
|
||
|
git add file1 &&
|
||
|
git commit -m add_x &&
|
||
|
git revert HEAD &&
|
||
|
git status -su >actual &&
|
||
|
ls -1pR * >>actual &&
|
||
|
test_cmp expect actual &&
|
||
|
set_fake_editor &&
|
||
|
echo "fake-editor.sh" >.git/info/exclude &&
|
||
|
git rebase -i "$1"
|
||
|
}
|
||
|
|
||
|
KNOWN_FAILURE_NOFF_MERGE_DOESNT_CREATE_EMPTY_SUBMODULE_DIR=1
|
||
|
# The real reason "replace directory with submodule" fails is because a
|
||
|
# directory "sub1" exists, but we reuse the suppression added for merge here
|
||
|
test_submodule_switch "git_rebase_interactive"
|
||
|
|
||
|
test_done
|