aboutsummaryrefslogtreecommitdiff
path: root/git-parse-remote.sh
diff options
context:
space:
mode:
Diffstat (limited to 'git-parse-remote.sh')
-rwxr-xr-xgit-parse-remote.sh14
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