summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rwxr-xr-xgit-pull.sh9
-rwxr-xr-xt/t5520-pull.sh4
2 files changed, 11 insertions, 2 deletions
diff --git a/git-pull.sh b/git-pull.sh
index 38331a8611..5dbc4387f7 100755
--- a/git-pull.sh
+++ b/git-pull.sh
@@ -266,6 +266,15 @@ then
exit
fi
+if test true = "$rebase"
+then
+ o=$(git show-branch --merge-base $curr_branch $merge_head $oldremoteref)
+ if test "$oldremoteref" = "$o"
+ then
+ unset oldremoteref
+ fi
+fi
+
merge_name=$(git fmt-merge-msg $log_arg <"$GIT_DIR/FETCH_HEAD") || exit
case "$rebase" in
true)
diff --git a/t/t5520-pull.sh b/t/t5520-pull.sh
index 01f898e57a..eee6f6d9cc 100755
--- a/t/t5520-pull.sh
+++ b/t/t5520-pull.sh
@@ -186,7 +186,7 @@ test_expect_success 'setup for detecting upstreamed changes' '
)
'
-test_expect_failure 'git pull --rebase detects upstreamed changes' '
+test_expect_success 'git pull --rebase detects upstreamed changes' '
(cd dst &&
git pull --rebase &&
test -z "$(git ls-files -u)"
@@ -215,7 +215,7 @@ test_expect_success 'setup for avoiding reapplying old patches' '
)
'
-test_expect_failure 'git pull --rebase does not reapply old patches' '
+test_expect_success 'git pull --rebase does not reapply old patches' '
(cd dst &&
test_must_fail git pull --rebase &&
test 1 = $(find .git/rebase-apply -name "000*" | wc -l)