diff options
Diffstat (limited to 'git-parse-remote.sh')
-rwxr-xr-x | git-parse-remote.sh | 14 |
1 files changed, 10 insertions, 4 deletions
diff --git a/git-parse-remote.sh b/git-parse-remote.sh index ea7511e8a..f163821d0 100755 --- a/git-parse-remote.sh +++ b/git-parse-remote.sh @@ -136,16 +136,22 @@ canon_refs_list_for_fetch () { if test "$1" = "-d" then shift ; remote="$1" ; shift + set x $(expand_refs_wildcard "$@") + shift if test "$remote" = "$(get_default_remote)" then curr_branch=$(git-symbolic-ref HEAD | \ sed -e 's|^refs/heads/||') merge_branches=$(git-repo-config \ - --get-all "branch.${curr_branch}.merge") || - merge_branches=.this.would.never.match.any.ref. + --get-all "branch.${curr_branch}.merge") + fi + # If we are fetching only one branch, then first branch + # is the only thing that makes sense to merge anyway, + # so there is no point refusing that traditional rule. + if test $# != 1 && test "z$merge_branches" = z + then + merge_branches=..this..would..never..match.. fi - set x $(expand_refs_wildcard "$@") - shift fi for ref do |