| #!/bin/sh | |
| test_description='pull can handle submodules' | |
| . ./test-lib.sh | |
| . "$TEST_DIRECTORY"/lib-submodule-update.sh | |
| reset_branch_to_HEAD () { | |
| git branch -D "$1" && | |
| git checkout -b "$1" HEAD && | |
| git branch --set-upstream-to="origin/$1" "$1" | |
| } | |
| git_pull () { | |
| reset_branch_to_HEAD "$1" && | |
| git pull | |
| } | |
| # pulls without conflicts | |
| test_submodule_switch "git_pull" | |
| git_pull_ff () { | |
| reset_branch_to_HEAD "$1" && | |
| git pull --ff | |
| } | |
| test_submodule_switch "git_pull_ff" | |
| git_pull_ff_only () { | |
| reset_branch_to_HEAD "$1" && | |
| git pull --ff-only | |
| } | |
| test_submodule_switch "git_pull_ff_only" | |
| git_pull_noff () { | |
| reset_branch_to_HEAD "$1" && | |
| git pull --no-ff | |
| } | |
| KNOWN_FAILURE_NOFF_MERGE_DOESNT_CREATE_EMPTY_SUBMODULE_DIR=1 | |
| KNOWN_FAILURE_NOFF_MERGE_ATTEMPTS_TO_MERGE_REMOVED_SUBMODULE_FILES=1 | |
| test_submodule_switch "git_pull_noff" | |
| test_done |