diff options
| author | Phillip Wood <phillip.wood@dunelm.org.uk> | 2026-03-26 14:16:59 +0000 |
|---|---|---|
| committer | Junio C Hamano <gitster@pobox.com> | 2026-03-26 08:20:50 -0700 |
| commit | 758086869940c96585f05a0eefe6d2f24fd70630 (patch) | |
| tree | cb1654b529d6bb6e2c7b83356d394e667cb67140 | |
| parent | 8bad0e07e1eddff2268bc9be3368c9b5fee47915 (diff) | |
| download | git-758086869940c96585f05a0eefe6d2f24fd70630.tar.xz | |
worktree: reject NULL worktree in get_worktree_git_dir()
This removes the final dependence on "the_repository" in
get_worktree_git_dir(). The last commit removed only caller that
passed a NULL worktree.
get_worktree_git_dir() has the following callers:
- branch.c:prepare_checked_out_branches() which loops over all
worktrees.
- builtin/fsck.c:cmd_fsck() which loops over all worktrees.
- builtin/receive-pack.c:update_worktree() which is called from
update() only when "worktree" is non-NULL.
- builtin/worktree.c:validate_no_submodules() which is called from
check_clean_worktree() and move_worktree(), both of which supply
a non-NULL worktree.
- reachable.c:add_rebase_files() which loops over all worktrees.
- revision.c:add_index_objects_to_pending() which loops over all
worktrees.
- worktree.c:is_current_worktree() which expects a non-NULL worktree.
Signed-off-by: Phillip Wood <phillip.wood@dunelm.org.uk>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
| -rw-r--r-- | worktree.c | 2 | ||||
| -rw-r--r-- | worktree.h | 1 |
2 files changed, 1 insertions, 2 deletions
diff --git a/worktree.c b/worktree.c index 344ad0c031..1ed5e8c3cd 100644 --- a/worktree.c +++ b/worktree.c @@ -227,7 +227,7 @@ struct worktree **get_worktrees_without_reading_head(void) char *get_worktree_git_dir(const struct worktree *wt) { if (!wt) - return xstrdup(repo_get_git_dir(the_repository)); + BUG("%s() called with NULL worktree", __func__); else if (!wt->id) return xstrdup(repo_get_common_dir(wt->repo)); else diff --git a/worktree.h b/worktree.h index 94ae58db97..400b614f13 100644 --- a/worktree.h +++ b/worktree.h @@ -51,7 +51,6 @@ int submodule_uses_worktrees(const char *path); /* * Return git dir of the worktree. Note that the path may be relative. - * If wt is NULL, git dir of current worktree is returned. */ char *get_worktree_git_dir(const struct worktree *wt); |
