;;
--upl=*|--uplo=*|--uploa=*|--upload=*|\
--upload-=*|--upload-p=*|--upload-pa=*|--upload-pac=*|--upload-pack=*)
- exec=--upload-pack=$(expr "$1" : '-[^=]*=\(.*\)')
+ exec=--upload-pack=$(expr "z$1" : 'z-[^=]*=\(.*\)')
shift
;;
-f|--f|--fo|--for|--forc|--force)
orig_head=$(git-rev-parse --verify HEAD 2>/dev/null)
fi
+# Allow --notags from remote.$1.tagopt
+case "$tags$no_tags" in
+'')
+ case "$(git-config --get "remote.$1.tagopt")" in
+ --no-tags)
+ no_tags=t ;;
+ esac
+esac
+
# If --tags (and later --heads or --all) is specified, then we are
# not talking about defaults stored in Pull: line of remotes or
# branches file, and just fetch those and refspecs explicitly given.
then
taglist=`IFS=' ' &&
echo "$ls_remote_result" |
+ git-show-ref --exclude-existing=refs/tags/ |
while read sha1 name
do
- case "$sha1" in
- fail)
- exit 1
- esac
- case "$name" in
- *^*) continue ;;
- refs/tags/*) ;;
- *) continue ;;
- esac
- if git-check-ref-format "$name"
- then
- echo ".${name}:${name}"
- else
- echo >&2 "warning: tag ${name} ignored"
- fi
+ echo ".${name}:${name}"
done` || exit
if test "$#" -gt 1
then