mirror of
https://github.com/git/git.git
synced 2026-03-24 15:40:08 +01:00
refs: retrieve worktree ref stores via associated repository
Similar as with the preceding commit, the worktree ref stores are always looked up via `the_repository`. Also, again, those ref stores are stored in a global map. Refactor the code so that worktrees have a pointer to their repository. Like this, we can move the global map into `struct repository` and stop using `the_repository`. With this change, we can now in theory look up worktree ref stores for repositories other than `the_repository`. In practice, the worktree code will need further changes to look up arbitrary worktrees. Signed-off-by: Patrick Steinhardt <ps@pks.im> Signed-off-by: Junio C Hamano <gitster@pobox.com>
This commit is contained in:
committed by
Junio C Hamano
parent
e19488a60a
commit
dc7fb4f72c
@@ -65,6 +65,7 @@ static struct worktree *get_main_worktree(int skip_reading_head)
|
||||
strbuf_strip_suffix(&worktree_path, "/.git");
|
||||
|
||||
CALLOC_ARRAY(worktree, 1);
|
||||
worktree->repo = the_repository;
|
||||
worktree->path = strbuf_detach(&worktree_path, NULL);
|
||||
/*
|
||||
* NEEDSWORK: If this function is called from a secondary worktree and
|
||||
@@ -98,6 +99,7 @@ struct worktree *get_linked_worktree(const char *id,
|
||||
strbuf_strip_suffix(&worktree_path, "/.git");
|
||||
|
||||
CALLOC_ARRAY(worktree, 1);
|
||||
worktree->repo = the_repository;
|
||||
worktree->path = strbuf_detach(&worktree_path, NULL);
|
||||
worktree->id = xstrdup(id);
|
||||
if (!skip_reading_head)
|
||||
|
||||
Reference in New Issue
Block a user