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>

Shreyansh Paliwal committed Feb 20, 2026 at 23:21 UTC 1e50d839f8592daf364778298a61670c4b998654
1 file changed +2 -4
tree-diff.c
+2 -4
@@ -2,7 +2,6 @@
2 * Helper functions for tree diff generation
3 */
4
5 -#define USE_THE_REPOSITORY_VARIABLE
5 #define DISABLE_SIGN_COMPARE_WARNINGS
6
7 #include "git-compat-util.h"
@@ -11,7 +10,6 @@
10 #include "hash.h"
11 #include "tree.h"
12 #include "tree-walk.h"
14 -#include "environment.h"
13 #include "repository.h"
14 #include "dir.h"
15
@@ -253,7 +251,7 @@ static void emit_path(struct combine_diff_path ***tail,
251
252 strbuf_add(base, path, pathlen);
253 p = combine_diff_path_new(base->buf, base->len, mode,
256 - oid ? oid : null_oid(the_hash_algo),
254 + oid ? oid : null_oid(opt->repo->hash_algo),
255 nparent);
256 strbuf_setlen(base, old_baselen);
257
@@ -278,7 +276,7 @@ static void emit_path(struct combine_diff_path ***tail,
276 mode_i = tp[i].entry.mode;
277 }
278 else {
281 - oid_i = null_oid(the_hash_algo);
279 + oid_i = null_oid(opt->repo->hash_algo);
280 mode_i = 0;
281 }
282