#!/bin/sh setglobal test_description = ''rebase can handle submodules'' source ./test-lib.sh source "$TEST_DIRECTORY"/lib-submodule-update.sh source "$TEST_DIRECTORY"/lib-rebase.sh proc 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" proc 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 } setglobal 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