*/*)
echo ''
;;
+ .)
+ echo self
+ ;;
*)
if test "$(git-config --get "remote.$1.url")"
then
'')
echo "$1"
;;
+ self)
+ echo "$1"
+ ;;
config)
git-config --get "remote.$1.url"
;;
get_remote_default_refs_for_push () {
data_source=$(get_data_source "$1")
case "$data_source" in
- '' | branches)
+ '' | branches | self)
;; # no default push mapping, just send matching refs.
config)
git-config --get-all "remote.$1.push" ;;
# is to help prevent randomly "globbed" ref from being chosen as
# a merge candidate
expand_refs_wildcard () {
- git fetch--tool expand-refs-wildcard "$ls_remote_result" "$@"
+ echo "$ls_remote_result" |
+ git fetch--tool expand-refs-wildcard "-" "$@"
}
# Subroutine to canonicalize remote:local notation.
fi
case "$remote" in
'' | HEAD ) remote=HEAD ;;
- refs/heads/* | refs/tags/* | refs/remotes/*) ;;
+ refs/*) ;;
heads/* | tags/* | remotes/* ) remote="refs/$remote" ;;
*) remote="refs/heads/$remote" ;;
esac
case "$local" in
'') local= ;;
- refs/heads/* | refs/tags/* | refs/remotes/*) ;;
+ refs/*) ;;
heads/* | tags/* | remotes/* ) local="refs/$local" ;;
*) local="refs/heads/$local" ;;
esac
case "$data_source" in
'')
echo "HEAD:" ;;
+ self)
+ canon_refs_list_for_fetch -d "$1" \
+ $(git-for-each-ref --format='%(refname):')
+ ;;
config)
canon_refs_list_for_fetch -d "$1" \
$(git-config --get-all "remote.$1.fetch") ;;
}' "$GIT_DIR/remotes/$1")
;;
*)
- die "internal error: get-remote-default-ref-for-push $1" ;;
+ die "internal error: get-remote-default-ref-for-fetch $1" ;;
esac
}