Signed-off-by: Brandon Williams <bmw...@google.com>
---
 upload-pack.c | 11 +++++++++++
 1 file changed, 11 insertions(+)

diff --git a/upload-pack.c b/upload-pack.c
index 7efff2fbf..0f853152f 100644
--- a/upload-pack.c
+++ b/upload-pack.c
@@ -1032,9 +1032,15 @@ static int upload_pack_config(const char *var, const 
char *value, void *unused)
        return parse_hide_refs_config(var, value, "uploadpack");
 }
 
+void upload_pack_v2(void)
+{
+       packet_write_fmt(1, "%s\n", "version 2");
+}
+
 int cmd_main(int argc, const char **argv)
 {
        const char *dir;
+       const char *version;
        int strict = 0;
        struct option options[] = {
                OPT_BOOL(0, "stateless-rpc", &stateless_rpc,
@@ -1067,6 +1073,11 @@ int cmd_main(int argc, const char **argv)
                die("'%s' does not appear to be a git repository", dir);
 
        git_config(upload_pack_config, NULL);
+
+       version = getenv("GIT_PROTOCOL");
+       if (!strcmp(version, "2"))
+               upload_pack_v2();
+
        upload_pack();
        return 0;
 }
-- 
2.14.1.342.g6490525c54-goog

Reply via email to