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 <ps@pks.im>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
This commit is contained in:
Patrick Steinhardt
2024-08-13 11:13:37 +02:00
committed by Junio C Hamano
parent 78f2210b3c
commit a973f60dc7
7 changed files with 24 additions and 17 deletions

8
path.h
View File

@ -95,11 +95,13 @@ const char *git_path(const char *fmt, ...)
/*
* Similar to git_path() but can produce paths for a specified
* worktree instead of current one
* worktree instead of current one. When no worktree is given, then the path is
* computed relative to main worktree of the given repository.
*/
const char *worktree_git_path(const struct worktree *wt,
const char *worktree_git_path(struct repository *r,
const struct worktree *wt,
const char *fmt, ...)
__attribute__((format (printf, 2, 3)));
__attribute__((format (printf, 3, 4)));
/*
* Return a path into the main repository's (the_repository) git directory.