From: Junio C Hamano Date: Fri, 27 Dec 2013 22:58:08 +0000 (-0800) Subject: Merge branch 'jk/pull-rebase-using-fork-point' X-Git-Tag: v1.9-rc0~52 X-Git-Url: https://git.lorimer.id.au/gitweb.git/diff_plain/2b0a564e02528e006d23e3318d0d2869fb239425?ds=inline;hp=-c Merge branch 'jk/pull-rebase-using-fork-point' * jk/pull-rebase-using-fork-point: rebase: use reflog to find common base with upstream pull: use merge-base --fork-point when appropriate --- 2b0a564e02528e006d23e3318d0d2869fb239425 diff --combined git-pull.sh index 97716b885f,605e9575df..f210d0a147 --- a/git-pull.sh +++ b/git-pull.sh @@@ -172,7 -172,7 +172,7 @@@ error_on_no_merge_candidates () do case "$opt" in -t|--t|--ta|--tag|--tags) - echo "Fetching tags only, you probably meant:" + echo "It doesn't make sense to pull all tags; you probably meant:" echo " git fetch --tags" exit 1 esac @@@ -229,15 -229,7 +229,7 @@@ test true = "$rebase" && test -n "$curr_branch" && . git-parse-remote && remoteref="$(get_remote_merge_branch "$@" 2>/dev/null)" && - oldremoteref="$(git rev-parse -q --verify "$remoteref")" && - for reflog in $(git rev-list -g $remoteref 2>/dev/null) - do - if test "$reflog" = "$(git merge-base $reflog $curr_branch)" - then - oldremoteref="$reflog" - break - fi - done + oldremoteref=$(git merge-base --fork-point "$remoteref" $curr_branch) } orig_head=$(git rev-parse -q --verify HEAD) git fetch $verbosity $progress $dry_run $recurse_submodules --update-head-ok "$@" || exit 1