Subject: [PATCH 00/10] tree: stop using the_repository

From: René Scharfe <[email-masked]>
Date: Fri, 9 Jan 2026 22:30:11 +0100

The tree parsing functions use the_repository internally.  Add variants
that allow using arbitrary repositories.  Fix callers one by one for
which had USE_THE_REPOSITORY_VARIABLE removed despite this implicit
usage and convert the rest mechanically.

  environment: move access to core.maxTreeDepth into repo settings
  tree: add repo_parse_tree*()
  add-interactive: use repo_parse_tree_indirect()
  bloom: use repo_parse_tree()
  delta-islands: use repo_parse_tree()
  pack-bitmap-write: use repo_parse_tree()
  path-walk: use repo_parse_tree_gently()
  tree: use repo_parse_tree()
  tree: stop using the_repository
  cocci: convert parse_tree functions to repo_ variants

 add-interactive.c                       |  2 +-
 archive.c                               |  2 +-
 bloom.c                                 |  2 +-
 builtin/am.c                            | 10 ++++-----
 builtin/checkout.c                      | 12 +++++-----
 builtin/clone.c                         |  4 ++--
 builtin/commit.c                        |  5 +++--
 builtin/diff-tree.c                     |  2 +-
 builtin/ls-tree.c                       |  2 +-
 builtin/merge-tree.c                    |  9 +++++---
 builtin/merge.c                         |  8 +++----
 builtin/read-tree.c                     |  4 ++--
 builtin/reset.c                         |  4 ++--
 builtin/stash.c                         |  8 +++----
 cache-tree.c                            |  2 +-
 contrib/coccinelle/the_repository.cocci | 10 +++++++++
 delta-islands.c                         |  2 +-
 diff-lib.c                              |  2 +-
 environment.c                           | 29 -------------------------
 environment.h                           |  1 -
 fsck.c                                  |  2 +-
 git-compat-util.h                       | 24 ++++++++++++++++++++
 http-push.c                             |  2 +-
 list-objects.c                          |  4 ++--
 merge-ort.c                             | 13 ++++++-----
 merge.c                                 |  6 ++---
 pack-bitmap-write.c                     |  2 +-
 path-walk.c                             |  2 +-
 read-cache.c                            |  2 +-
 repo-settings.c                         |  3 +++
 repo-settings.h                         |  3 +++
 reset.c                                 |  2 +-
 revision.c                              |  4 ++--
 sequencer.c                             |  4 ++--
 t/helper/test-cache-tree.c              |  2 +-
 t/helper/test-match-trees.c             |  4 ++--
 tree-diff.c                             |  2 +-
 tree-walk.c                             |  4 +++-
 tree.c                                  | 16 ++++++--------
 tree.h                                  | 13 +++++++----
 walker.c                                |  2 +-
 41 files changed, 129 insertions(+), 107 deletions(-)

-- 
2.52.0