]> git.ipfire.org Git - thirdparty/git.git/commitdiff
loose: don't rely on repository global state
authorKarthik Nayak <karthik.188@gmail.com>
Wed, 9 Oct 2024 09:58:59 +0000 (02:58 -0700)
committerJunio C Hamano <gitster@pobox.com>
Wed, 9 Oct 2024 18:51:31 +0000 (11:51 -0700)
In `loose.c`, we rely on the global variable `the_hash_algo`. As such we
have guarded the file with the 'USE_THE_REPOSITORY_VARIABLE' definition.
Let's derive the hash algorithm from the available repository variable
and remove this guard. This brings us one step closer to removing the
global 'the_repository' variable.

Signed-off-by: Karthik Nayak <karthik.188@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
loose.c

diff --git a/loose.c b/loose.c
index 6d6a41b7e55a95d027cf0ff3b17a2da50bcf596f..897ba389daa18cbb72ca8ce2ecbeb77ecdad1a55 100644 (file)
--- a/loose.c
+++ b/loose.c
@@ -1,10 +1,9 @@
-#define USE_THE_REPOSITORY_VARIABLE
-
 #include "git-compat-util.h"
 #include "hash.h"
 #include "path.h"
 #include "object-store.h"
 #include "hex.h"
+#include "repository.h"
 #include "wrapper.h"
 #include "gettext.h"
 #include "loose.h"
@@ -142,8 +141,8 @@ int repo_write_loose_object_map(struct repository *repo)
 
        for (; iter != kh_end(map); iter++) {
                if (kh_exist(map, iter)) {
-                       if (oideq(&kh_key(map, iter), the_hash_algo->empty_tree) ||
-                           oideq(&kh_key(map, iter), the_hash_algo->empty_blob))
+                       if (oideq(&kh_key(map, iter), repo->hash_algo->empty_tree) ||
+                           oideq(&kh_key(map, iter), repo->hash_algo->empty_blob))
                                continue;
                        strbuf_addf(&buf, "%s %s\n", oid_to_hex(&kh_key(map, iter)), oid_to_hex(kh_value(map, iter)));
                        if (write_in_full(fd, buf.buf, buf.len) < 0)