summaryrefslogtreecommitdiffstats
path: root/git-pull.sh
diff options
context:
space:
mode:
Diffstat (limited to 'git-pull.sh')
-rwxr-xr-xgit-pull.sh12
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