From a973f60dc7c178828e351ec4e68886ffecfbcadc Mon Sep 17 00:00:00 2001 From: Patrick Steinhardt Date: Tue, 13 Aug 2024 11:13:37 +0200 Subject: path: stop relying on `the_repository` in `worktree_git_path()` When not provided a worktree, then `worktree_git_path()` will fall back to returning a path relative to the main repository. In this case, we implicitly rely on `the_repository` to derive the path. Remove this dependency by passing a `struct repository` as parameter. Signed-off-by: Patrick Steinhardt Signed-off-by: Junio C Hamano --- path.c | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) (limited to 'path.c') diff --git a/path.c b/path.c index 97a07fafc7..2949261193 100644 --- a/path.c +++ b/path.c @@ -512,12 +512,17 @@ const char *mkpath(const char *fmt, ...) return cleanup_path(pathname->buf); } -const char *worktree_git_path(const struct worktree *wt, const char *fmt, ...) +const char *worktree_git_path(struct repository *r, + const struct worktree *wt, const char *fmt, ...) { struct strbuf *pathname = get_pathname(); va_list args; + + if (wt && wt->repo != r) + BUG("worktree not connected to expected repository"); + va_start(args, fmt); - repo_git_pathv(the_repository, wt, pathname, fmt, args); + repo_git_pathv(r, wt, pathname, fmt, args); va_end(args); return pathname->buf; } -- cgit v1.2.3