From: Patrick Steinhardt Date: Fri, 14 Jun 2024 06:50:51 +0000 (+0200) Subject: replace-object: use hash algorithm from passed-in repository X-Git-Tag: v2.46.0-rc0~20^2~5 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=99cf4d6d35c7e98dde958e75ff39cd01f2088506;p=thirdparty%2Fgit.git replace-object: use hash algorithm from passed-in repository In `register_replace_ref()`, 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 Signed-off-by: Junio C Hamano --- diff --git a/replace-object.c b/replace-object.c index 73f5acbcd9..59252d565e 100644 --- a/replace-object.c +++ b/replace-object.c @@ -20,7 +20,7 @@ static int register_replace_ref(const char *refname, const char *hash = slash ? slash + 1 : refname; struct replace_object *repl_obj = xmalloc(sizeof(*repl_obj)); - if (get_oid_hex(hash, &repl_obj->original.oid)) { + if (get_oid_hex_algop(hash, &repl_obj->original.oid, r->hash_algo)) { free(repl_obj); warning(_("bad replace ref name: %s"), refname); return 0;