diff options
author | Patrick Steinhardt <ps@pks.im> | 2024-05-17 10:18:34 +0200 |
---|---|---|
committer | Junio C Hamano <gitster@pobox.com> | 2024-05-17 19:33:37 +0200 |
commit | 965f8991e59d84ba1b86e528f9c27852e746fa90 (patch) | |
tree | d0bda938d26417375738c48d67edade1a11bfce5 /refs.h | |
parent | refs: track ref stores via strmap (diff) | |
download | git-965f8991e59d84ba1b86e528f9c27852e746fa90.tar.xz git-965f8991e59d84ba1b86e528f9c27852e746fa90.zip |
refs: pass repo when retrieving submodule ref store
Looking up submodule ref stores has two deficiencies:
- The initialized subrepo will be attributed to `the_repository`.
- The submodule ref store will be tracked in a global map.
This makes it impossible to have submodule ref stores for a repository
other than `the_repository`.
Modify the function to accept the parent repository as parameter and
move the global map into `struct repository`. Like this it becomes
possible to look up submodule ref stores for arbitrary repositories.
Note that this also adds a new reference to `the_repository` in
`resolve_gitlink_ref()`, which is part of the refs interfaces. This will
get adjusted in the next patch.
Signed-off-by: Patrick Steinhardt <ps@pks.im>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
Diffstat (limited to 'refs.h')
-rw-r--r-- | refs.h | 3 |
1 files changed, 2 insertions, 1 deletions
@@ -954,7 +954,8 @@ struct ref_store *get_main_ref_store(struct repository *r); * For backwards compatibility, submodule=="" is treated the same as * submodule==NULL. */ -struct ref_store *get_submodule_ref_store(const char *submodule); +struct ref_store *repo_get_submodule_ref_store(struct repository *repo, + const char *submodule); struct ref_store *get_worktree_ref_store(const struct worktree *wt); /* |