diff options
Diffstat (limited to 'git-pull.sh')
| -rwxr-xr-x | git-pull.sh | 12 |
1 files changed, 6 insertions, 6 deletions
diff --git a/git-pull.sh b/git-pull.sh index 809e537a4d..664fe34419 100755 --- a/git-pull.sh +++ b/git-pull.sh @@ -107,9 +107,9 @@ error_on_no_merge_candidates () { } test true = "$rebase" && { - git update-index --refresh && - git diff-files --quiet && - git diff-index --cached --quiet HEAD -- || + git update-index --ignore-submodules --refresh && + git diff-files --ignore-submodules --quiet && + git diff-index --ignore-submodules --cached --quiet HEAD -- || die "refusing to pull with rebase: your working tree is not up-to-date" . git-parse-remote && @@ -121,10 +121,10 @@ test true = "$rebase" && { "refs/remotes/$origin/$reflist" 2>/dev/null)" } orig_head=$(git rev-parse --verify HEAD 2>/dev/null) -git-fetch --update-head-ok "$@" || exit 1 +git fetch --update-head-ok "$@" || exit 1 curr_head=$(git rev-parse --verify HEAD 2>/dev/null) -if test "$curr_head" != "$orig_head" +if test -n "$orig_head" && test "$curr_head" != "$orig_head" then # The fetch involved updating the current branch. @@ -172,7 +172,7 @@ esac if test -z "$orig_head" then - git update-ref -m "initial pull" HEAD $merge_head "" && + git update-ref -m "initial pull" HEAD $merge_head "$curr_head" && git read-tree --reset -u HEAD || exit 1 exit fi |
