diff options
Diffstat (limited to 'git-fetch.sh')
-rwxr-xr-x | git-fetch.sh | 16 |
1 files changed, 16 insertions, 0 deletions
diff --git a/git-fetch.sh b/git-fetch.sh index ca984e739a..59bee5db0f 100755 --- a/git-fetch.sh +++ b/git-fetch.sh @@ -243,6 +243,15 @@ then 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. @@ -377,8 +386,15 @@ fetch_main () { ( : subshell because we muck with IFS IFS=" $LF" ( + if test -f "$remote" ; then + test -n "$shallow_depth" && + die "shallow clone with bundle is not supported" + git-bundle unbundle "$remote" $rref || + echo failed "$remote" + else git-fetch-pack --thin $exec $keep $shallow_depth "$remote" $rref || echo failed "$remote" + fi ) | ( trap ' |