#!/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