Merge branch 'bc/sha-256-part-2' into jch
SHA-256 migration work continues. * bc/sha-256-part-2: (44 commits) remote-testgit: adapt for object-format bundle: detect hash algorithm when reading refs t5300: pass --object-format to git index-pack t5704: send object-format capability with SHA-256 t5703: use object-format serve option t5702: offer an object-format capability in the test t/helper: initialize the repository for test-sha1-array remote-curl: avoid truncating refs with ls-remote t1050: pass algorithm to index-pack when outside repo builtin/index-pack: add option to specify hash algorithm remote-curl: detect algorithm for dumb HTTP by size builtin/ls-remote: initialize repository based on fetch t5500: make hash independent serve: advertise object-format capability for protocol v2 connect: parse v2 refs with correct hash algorithm connect: pass full packet reader when parsing v2 refs Documentation/technical: document object-format for protocol v2 t1302: expect repo format version 1 for SHA-256 builtin/show-index: provide options to determine hash algo t5302: modernize test formatting ...
This commit is contained in:
@ -363,6 +363,7 @@ int send_pack(struct send_pack_args *args,
|
||||
int atomic_supported = 0;
|
||||
int use_push_options = 0;
|
||||
int push_options_supported = 0;
|
||||
int object_format_supported = 0;
|
||||
unsigned cmds_sent = 0;
|
||||
int ret;
|
||||
struct async demux;
|
||||
@ -389,6 +390,9 @@ int send_pack(struct send_pack_args *args,
|
||||
if (server_supports("push-options"))
|
||||
push_options_supported = 1;
|
||||
|
||||
if (!server_supports_hash(the_hash_algo->name, &object_format_supported))
|
||||
die(_("the receiving end does not support this repository's hash algorithm"));
|
||||
|
||||
if (args->push_cert != SEND_PACK_PUSH_CERT_NEVER) {
|
||||
int len;
|
||||
push_cert_nonce = server_feature_value("push-cert", &len);
|
||||
@ -429,6 +433,8 @@ int send_pack(struct send_pack_args *args,
|
||||
strbuf_addstr(&cap_buf, " atomic");
|
||||
if (use_push_options)
|
||||
strbuf_addstr(&cap_buf, " push-options");
|
||||
if (object_format_supported)
|
||||
strbuf_addf(&cap_buf, " object-format=%s", the_hash_algo->name);
|
||||
if (agent_supported)
|
||||
strbuf_addf(&cap_buf, " agent=%s", git_user_agent_sanitized());
|
||||
|
||||
|
Reference in New Issue
Block a user