Re: get upstream branch
2008/12/9 Junio C Hamano <gitster@pobox.com>:
Show 18 quoted lines
> Jeff King <peff@peff.net> writes:
>
>> In one of my scripts I do something like this (actually this is not
>> straight from my script, as the operation there is "find all pairs of
>> local/remote branches" and this is "find the current upstream"):
>>
>> ref=`git symbolic-ref HEAD`
>> head=${ref#refs/heads/}
>> remote=`git config branch.$head.remote`
>> branch=`git config branch.$head.merge`
>> echo refs/remote/$remote/${branch#refs/heads/}
>>
>> And obviously this is missing error checking for the detached HEAD
>> (symbolic-ref should fail) and no tracking branch ($remote and/or $branch
>> will be empty) cases.
>
> Yeah, add any nonstandard layout to that set of things that are missing,
> but in practice it should not matter.In "git pull --rebase" this is used to know the hash of the tracking branch:
. 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|")" &&
oldremoteref="$(git rev-parse -q --verify \
"refs/remotes/$origin/$reflist")"Santi