1
0
mirror of https://github.com/git/git.git synced 2024-11-08 14:09:26 +01:00

protocol-caps: use hash algorithm from passed-in repository

In `send_info()`, we pass in a repository but then use `get_oid_hex()`
to parse passed-in object IDs, which implicitly uses `the_repository`.
Fix this by using the hash algorithm from the passed-in repository
instead.

Signed-off-by: Patrick Steinhardt <ps@pks.im>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
This commit is contained in:
Patrick Steinhardt 2024-06-14 08:50:47 +02:00 committed by Junio C Hamano
parent f2c32a66f5
commit 58650befd9

@ -7,6 +7,7 @@
#include "hex.h" #include "hex.h"
#include "object.h" #include "object.h"
#include "object-store-ll.h" #include "object-store-ll.h"
#include "repository.h"
#include "string-list.h" #include "string-list.h"
#include "strbuf.h" #include "strbuf.h"
@ -52,7 +53,7 @@ static void send_info(struct repository *r, struct packet_writer *writer,
struct object_id oid; struct object_id oid;
unsigned long object_size; unsigned long object_size;
if (get_oid_hex(oid_str, &oid) < 0) { if (get_oid_hex_algop(oid_str, &oid, r->hash_algo) < 0) {
packet_writer_error( packet_writer_error(
writer, writer,
"object-info: protocol error, expected to get oid, not '%s'", "object-info: protocol error, expected to get oid, not '%s'",