Make sure we do not write bogus reflog entries.
[gitweb.git] / git-parse-remote.sh
index d2e4c2b9aede8310879cea9c47bd3cee323f11af..7e87f2e06e6e491d7c518d332bfa036cca081ea2 100755 (executable)
@@ -49,7 +49,7 @@ get_remote_url () {
 }
 
 get_default_remote () {
-       curr_branch=$(git-symbolic-ref HEAD | sed -e 's|^refs/heads/||')
+       curr_branch=$(git-symbolic-ref -q HEAD | sed -e 's|^refs/heads/||')
        origin=$(git-repo-config --get "branch.$curr_branch.remote")
        echo ${origin:-origin}
 }
@@ -81,7 +81,14 @@ get_remote_default_refs_for_push () {
 # is to help prevent randomly "globbed" ref from being chosen as
 # a merge candidate
 expand_refs_wildcard () {
+       remote="$1"
+       shift
        first_one=yes
+       if test "$#" = 0
+       then
+               echo empty
+               echo >&2 "Nothing specified for fetching with remote.$remote.fetch"
+       fi
        for ref
        do
                lref=${ref#'+'}
@@ -132,12 +139,12 @@ canon_refs_list_for_fetch () {
        if test "$1" = "-d"
        then
                shift ; remote="$1" ; shift
-               set $(expand_refs_wildcard "$@")
+               set $(expand_refs_wildcard "$remote" "$@")
                is_explicit="$1"
                shift
                if test "$remote" = "$(get_default_remote)"
                then
-                       curr_branch=$(git-symbolic-ref HEAD | \
+                       curr_branch=$(git-symbolic-ref -q HEAD | \
                            sed -e 's|^refs/heads/||')
                        merge_branches=$(git-repo-config \
                            --get-all "branch.${curr_branch}.merge")
@@ -279,3 +286,16 @@ resolve_alternates () {
                esac
        done
 }
+
+get_uploadpack () {
+       data_source=$(get_data_source "$1")
+       case "$data_source" in
+       config)
+               uplp=$(git-repo-config --get "remote.$1.uploadpack")
+               echo ${uplp:-git-upload-pack}
+               ;;
+       *)
+               echo "git-upload-pack"
+               ;;
+       esac
+}