tree-diff: remove the usage of the_hash_algo global

emit_path() uses the global the_hash_algo even though a local repository is
already available via struct diff_options *opt.

Replace these uses with opt->repo->hash_algo. With no remaining reliance on
global states in this file, drop the dependency on 'environment.h' and remove
'#define USE_THE_REPOSITORY_VARIABLE'.

This follows earlier cleanups to introduce opt->repo in tree-diff.c [1][2].

[1]- https://lore.kernel.org/git/20180921155739.14407-21-pclouds@gmail.com/
[2]- https://lore.kernel.org/git/20260109213021.2546-2-l.s.r@web.de/

Signed-off-by: Shreyansh Paliwal <shreyanshpaliwalcmsmn@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
This commit is contained in:
Shreyansh Paliwal authored and Junio C Hamano committed 2026-02-20 10:21:11 -08:00
1 parent 67ad42147a
commit 1e50d839f8
1 file changed
+2 -4
+2 -4
View File
@@ -2,7 +2,6 @@
* Helper functions for tree diff generation
*/
#define USE_THE_REPOSITORY_VARIABLE
#define DISABLE_SIGN_COMPARE_WARNINGS
#include "git-compat-util.h"
@@ -11,7 +10,6 @@
#include "hash.h"
#include "tree.h"
#include "tree-walk.h"
#include "environment.h"
#include "repository.h"
#include "dir.h"
@@ -253,7 +251,7 @@ static void emit_path(struct combine_diff_path ***tail,
strbuf_add(base, path, pathlen);
p = combine_diff_path_new(base->buf, base->len, mode,
oid ? oid : null_oid(the_hash_algo),
oid ? oid : null_oid(opt->repo->hash_algo),
nparent);
strbuf_setlen(base, old_baselen);
@@ -278,7 +276,7 @@ static void emit_path(struct combine_diff_path ***tail,
mode_i = tp[i].entry.mode;
}
else {
oid_i = null_oid(the_hash_algo);
oid_i = null_oid(opt->repo->hash_algo);
mode_i = 0;
}