diff options
-rwxr-xr-x | git-parse-remote.sh | 11 |
1 files changed, 9 insertions, 2 deletions
diff --git a/git-parse-remote.sh b/git-parse-remote.sh index 871c08f097..f163821d03 100755 --- a/git-parse-remote.sh +++ b/git-parse-remote.sh @@ -136,6 +136,8 @@ 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 | \ @@ -143,8 +145,13 @@ canon_refs_list_for_fetch () { merge_branches=$(git-repo-config \ --get-all "branch.${curr_branch}.merge") fi - set x $(expand_refs_wildcard "$@") - shift + # 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 fi for ref do |