fi
fi
- fetch_main () {
+ fetch_native () {
+
+ eval=$(echo "$1" | git-fetch--tool parse-reflist "-")
+ eval "$eval"
+
+ ( : subshell because we muck with IFS
+ IFS=" $LF"
+ (
- git-fetch-pack --thin $exec $keep $shallow_depth "$remote" $rref ||
++ 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 $no_progress \
++ "$remote" $rref ||
+ echo failed "$remote"
++ fi
+ ) |
+ (
+ flags=
+ test -n "$verbose" && flags="$flags -v"
+ test -n "$force" && flags="$flags -f"
+ GIT_REFLOG_ACTION="$GIT_REFLOG_ACTION" \
+ git-fetch--tool $flags native-store \
+ "$remote" "$remote_nick" "$refs"
+ )
+ ) || exit
+
+ }
+
+ fetch_dumb () {
reflist="$1"
refs=
rref=
{ "config", cmd_config },
{ "count-objects", cmd_count_objects, RUN_SETUP },
{ "describe", cmd_describe, RUN_SETUP },
- { "diff", cmd_diff, RUN_SETUP | USE_PAGER },
- { "diff-files", cmd_diff_files, RUN_SETUP },
+ { "diff", cmd_diff, USE_PAGER },
+ { "diff-files", cmd_diff_files },
{ "diff-index", cmd_diff_index, RUN_SETUP },
{ "diff-tree", cmd_diff_tree, RUN_SETUP },
+ { "fetch--tool", cmd_fetch__tool, RUN_SETUP },
{ "fmt-merge-msg", cmd_fmt_merge_msg, RUN_SETUP },
{ "for-each-ref", cmd_for_each_ref, RUN_SETUP },
{ "format-patch", cmd_format_patch, RUN_SETUP },