mirror of
https://github.com/git/git.git
synced 2024-11-24 02:17:02 +08:00
rebase: add t3426 for submodule updates
Test that the rebase command updates the work tree as expected for changes which don't result in conflicts. To make that work add two helper functions that add a commit only touching files and then revert it. This allows to rebase the target commit over these two and to compare the result. Set KNOWN_FAILURE_NOFF_MERGE_DOESNT_CREATE_EMPTY_SUBMODULE_DIR to document that "replace directory with submodule" fails for an interactive rebase because a directory "sub1" already exists. Signed-off-by: Jens Lehmann <Jens.Lehmann@web.de> Signed-off-by: Junio C Hamano <gitster@pobox.com>
This commit is contained in:
parent
663ed39a88
commit
c7e69168cf
46
t/t3426-rebase-submodule.sh
Executable file
46
t/t3426-rebase-submodule.sh
Executable file
@ -0,0 +1,46 @@
|
||||
#!/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
|
Loading…
Reference in New Issue
Block a user