remote: advertise the object-format capability on the server side

Advertise the current hash algorithm in use by using the object-format
capability as part of the ref advertisement.

Signed-off-by: brian m. carlson <sandals@crustytoothpaste.net>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
This commit is contained in:
brian m. carlson 2020-05-25 19:58:51 +00:00 коммит произвёл Junio C Hamano
Родитель 14570dc67d
Коммит bf30dbf826
2 изменённых файлов: 3 добавлений и 1 удалений

Просмотреть файл

@ -248,6 +248,7 @@ static void show_ref(const char *path, const struct object_id *oid)
strbuf_addf(&cap, " push-cert=%s", push_cert_nonce);
if (advertise_push_options)
strbuf_addstr(&cap, " push-options");
strbuf_addf(&cap, " object-format=%s", the_hash_algo->name);
strbuf_addf(&cap, " agent=%s", git_user_agent_sanitized());
packet_write_fmt(1, "%s %s%c%s\n",
oid_to_hex(oid), path, 0, cap.buf);

Просмотреть файл

@ -1005,7 +1005,7 @@ static int send_ref(const char *refname, const struct object_id *oid,
struct strbuf symref_info = STRBUF_INIT;
format_symref_info(&symref_info, cb_data);
packet_write_fmt(1, "%s %s%c%s%s%s%s%s%s agent=%s\n",
packet_write_fmt(1, "%s %s%c%s%s%s%s%s%s object-format=%s agent=%s\n",
oid_to_hex(oid), refname_nons,
0, capabilities,
(allow_unadvertised_object_request & ALLOW_TIP_SHA1) ?
@ -1015,6 +1015,7 @@ static int send_ref(const char *refname, const struct object_id *oid,
stateless_rpc ? " no-done" : "",
symref_info.buf,
allow_filter ? " filter" : "",
the_hash_algo->name,
git_user_agent_sanitized());
strbuf_release(&symref_info);
} else {