Skip to content

Commit 8073d75

Browse files
steadmongitster
authored andcommitted
receive-pack: advertise session ID in v0 capabilities
When transfer.advertiseSID is true, advertise receive-pack's session ID via the new session-id capability. Signed-off-by: Josh Steadmon <[email protected]> Signed-off-by: Junio C Hamano <[email protected]>
1 parent 791e1ad commit 8073d75

File tree

1 file changed

+8
-0
lines changed

1 file changed

+8
-0
lines changed

builtin/receive-pack.c

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -54,6 +54,7 @@ static int receive_unpack_limit = -1;
5454
static int transfer_unpack_limit = -1;
5555
static int advertise_atomic_push = 1;
5656
static int advertise_push_options;
57+
static int advertise_sid;
5758
static int unpack_limit = 100;
5859
static off_t max_input_size;
5960
static int report_status;
@@ -248,6 +249,11 @@ static int receive_pack_config(const char *var, const char *value, void *cb)
248249
return 0;
249250
}
250251

252+
if (strcmp(var, "transfer.advertisesid") == 0) {
253+
advertise_sid = git_config_bool(var, value);
254+
return 0;
255+
}
256+
251257
return git_default_config(var, value, cb);
252258
}
253259

@@ -268,6 +274,8 @@ static void show_ref(const char *path, const struct object_id *oid)
268274
strbuf_addf(&cap, " push-cert=%s", push_cert_nonce);
269275
if (advertise_push_options)
270276
strbuf_addstr(&cap, " push-options");
277+
if (advertise_sid)
278+
strbuf_addf(&cap, " session-id=%s", trace2_session_id());
271279
strbuf_addf(&cap, " object-format=%s", the_hash_algo->name);
272280
strbuf_addf(&cap, " agent=%s", git_user_agent_sanitized());
273281
packet_write_fmt(1, "%s %s%c%s\n",

0 commit comments

Comments
 (0)