[PATCH 1/2] git-pull: Avoid merge-base on detached head
- From
Phil Hord <hordp@cisco.com>
- Date
- Oct 22, 2012, 22:50 UTC
- Message-ID
- <1350946204-26399-1-git-send-email-hordp@cisco.com>
git pull --rebase does some clever tricks to find the base for $upstream , but it forgets that we may not have any branch at all. When this happens, git merge-base reports its "usage" help in the middle of an otherwise successful rebase operation, because git-merge is called with one too few parameters.
Since we do not need the merge-base trick in the case of a detached HEAD, detect this condition and bypass the clever trick and the usage noise. --- git-pull.sh | 1 + 1 file changed, 1 insertion(+)
diff --git a/git-pull.sh b/git-pull.sh index 2a10047..266e682 100755 --- a/git-pull.sh +++ b/git-pull.sh @@ -200,6 +200,7 @@ test true = "$rebase" && { require_clean_work_tree "pull with rebase" "Please commit or stash them." fi oldremoteref= && + test -n "$curr_branch" && . git-parse-remote && remoteref="$(get_remote_merge_branch "$@" 2>/dev/null)" && oldremoteref="$(git rev-parse -q --verify "$remoteref")" &&
-- 1.8.0.2.ge1a3bdd