safe_create_leading_directories: fix race that could give a false negative
[gitweb.git] / builtin / send-pack.c
index 5c6999555254b78403ad99ae86b3a9204b5fe953..7d05064218184b815fe01228a24138c1f9ac7c7f 100644 (file)
@@ -252,6 +252,7 @@ int send_pack(struct send_pack_args *args,
        int status_report = 0;
        int use_sideband = 0;
        int quiet_supported = 0;
+       int agent_supported = 0;
        unsigned cmds_sent = 0;
        int ret;
        struct async demux;
@@ -267,6 +268,8 @@ int send_pack(struct send_pack_args *args,
                use_sideband = 1;
        if (server_supports("quiet"))
                quiet_supported = 1;
+       if (server_supports("agent"))
+               agent_supported = 1;
 
        if (!remote_refs) {
                fprintf(stderr, "No refs in common and none specified; doing nothing.\n"
@@ -306,14 +309,17 @@ int send_pack(struct send_pack_args *args,
                        char *new_hex = sha1_to_hex(ref->new_sha1);
                        int quiet = quiet_supported && (args->quiet || !args->progress);
 
-                       if (!cmds_sent && (status_report || use_sideband || quiet)) {
+                       if (!cmds_sent && (status_report || use_sideband ||
+                                          quiet || agent_supported)) {
                                packet_buf_write(&req_buf,
-                                                "%s %s %s%c%s%s%s agent=%s",
+                                                "%s %s %s%c%s%s%s%s%s",
                                                 old_hex, new_hex, ref->name, 0,
                                                 status_report ? " report-status" : "",
                                                 use_sideband ? " side-band-64k" : "",
                                                 quiet ? " quiet" : "",
-                                                git_user_agent_sanitized());
+                                                agent_supported ? " agent=" : "",
+                                                agent_supported ? git_user_agent_sanitized() : ""
+                                               );
                        }
                        else
                                packet_buf_write(&req_buf, "%s %s %s",