aboutsummaryrefslogtreecommitdiff
path: root/git-pull.sh
diff options
context:
space:
mode:
authorSanti Béjar <santi@agolina.net>2009-06-12 00:39:18 +0200
committerJunio C Hamano <gitster@pobox.com>2009-06-11 19:49:59 -0700
commit97af7ff0553ed81bb905dbc0c8b0f9a0c10bfb3d (patch)
treef8acd8c16a79d98f64ef40aeb699428839140993 /git-pull.sh
parentcb9d398c3506a6354a1c63d265a4228fcec28fda (diff)
downloadgit-97af7ff0553ed81bb905dbc0c8b0f9a0c10bfb3d.tar.gz
git-97af7ff0553ed81bb905dbc0c8b0f9a0c10bfb3d.tar.xz
parse-remote: function to get the tracking branch to be merge
The only user of get_remote_refs_for_fetch was "git pull --rebase" and it only wanted the tracking branch to be merge. So, add a simple function (get_remote_merge_branch) with this new meaning. No behavior changes. The new function behaves like the old code in "git pull --rebase". In particular, it only works with the default refspec mapping and with remote branches, not tags. Signed-off-by: Santi Béjar <santi@agolina.net> Signed-off-by: Junio C Hamano <gitster@pobox.com>
Diffstat (limited to 'git-pull.sh')
-rwxr-xr-xgit-pull.sh7
1 files changed, 2 insertions, 5 deletions
diff --git a/git-pull.sh b/git-pull.sh
index 35261539a..3cf26634a 100755
--- a/git-pull.sh
+++ b/git-pull.sh
@@ -125,12 +125,9 @@ test true = "$rebase" && {
die "refusing to pull with rebase: your working tree is not up-to-date"
. git-parse-remote &&
- origin="$1"
- test -z "$origin" && origin=$(get_default_remote)
- reflist="$(get_remote_refs_for_fetch "$@" 2>/dev/null |
- sed "s|refs/heads/\(.*\):|\1|")" &&
+ reflist="$(get_remote_merge_branch "$@" 2>/dev/null)" &&
oldremoteref="$(git rev-parse -q --verify \
- "refs/remotes/$origin/$reflist")"
+ "$reflist")"
}
orig_head=$(git rev-parse -q --verify HEAD)
git fetch $verbosity --update-head-ok "$@" || exit 1