Signed-off-by: Stefan Beller <[email protected]>
---
builtin/fetch-pack.c | 20 +++++++++++++++++++-
1 file changed, 19 insertions(+), 1 deletion(-)
diff --git a/builtin/fetch-pack.c b/builtin/fetch-pack.c
index bfd0be4..afb614b 100644
--- a/builtin/fetch-pack.c
+++ b/builtin/fetch-pack.c
@@ -4,6 +4,7 @@
#include "remote.h"
#include "connect.h"
#include "sha1-array.h"
+#include "transport.h"
static const char fetch_pack_usage[] =
"git fetch-pack [--all] [--stdin] [--quiet | -q] [--keep | -k] [--thin] "
@@ -56,6 +57,7 @@ int cmd_fetch_pack(int argc, const char **argv, const char
*prefix)
memset(&args, 0, sizeof(args));
args.uploadpack = "git-upload-pack";
+ args.transport_version = DEFAULT_TRANSPORT_VERSION;
for (i = 1; i < argc && *argv[i] == '-'; i++) {
const char *arg = argv[i];
@@ -130,6 +132,10 @@ int cmd_fetch_pack(int argc, const char **argv, const char
*prefix)
args.update_shallow = 1;
continue;
}
+ if (starts_with(arg, "--transport-version=")) {
+ args.transport_version = strtol(arg + 20, NULL, 0);
+ continue;
+ }
usage(fetch_pack_usage);
}
@@ -178,7 +184,19 @@ int cmd_fetch_pack(int argc, const char **argv, const char
*prefix)
if (!conn)
return args.diag_url ? 0 : 1;
}
- get_remote_heads(fd[0], NULL, 0, &ref, 0, NULL, &shallow);
+
+ switch (args.transport_version) {
+ case 2: /* first talk about capabilities, then get the refs */
+ negotiate_capabilities(fd, &args);
+ /* fall through */
+ case 1:
+ get_remote_heads(fd[0], NULL, 0, &ref, 0, NULL, &shallow);
+ break;
+ default:
+ die("BUG: Transport version %d not supported",
+ args.transport_version);
+ break;
+ }
ref = fetch_pack(&args, fd, conn, ref, dest, sought, nr_sought,
&shallow, pack_lockfile_ptr);
--
2.8.0.32.g71f8beb.dirty
--
To unsubscribe from this list: send the line "unsubscribe git" in
the body of a message to [email protected]
More majordomo info at http://vger.kernel.org/majordomo-info.html