[PATCH] tree-diff: remove the usage of the_hash_algo global
DORMANTno replies
From: Shreyansh Paliwal <hidden>
Date: 2026-02-20 17:53:51
Subsystem:
the rest · Maintainer:
Linus Torvalds
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/ (local) [2]- https://lore.kernel.org/git/20260109213021.2546-2-l.s.r@web.de/ (local) Signed-off-by: Shreyansh Paliwal <redacted> --- tree-diff.c | 6 ++---- 1 file changed, 2 insertions(+), 4 deletions(-)
diff --git a/tree-diff.c b/tree-diff.c
index 631ea86812..2f5c956d02 100644
--- a/tree-diff.c
+++ b/tree-diff.c@@ -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; }
--
2.53.0