Re: [PATCH 1/2] submodule: create helper to build paths to submodule gitdirs
- From
- Brandon Williams <bmwill@google.com>
- Date
- Aug 10, 2018, 21:45 UTC
- Message-ID
- <20180810214559.GA211322@google.com>
- In-Reply-To
- <xmqqpnyp7vzv.fsf@gitster-ct.c.googlers.com>
On 08/10, Junio C Hamano wrote:
Show 35 quoted lines
> Brandon Williams <bmwill@google.com> writes:
>
> > Introduce a helper function "submodule_name_to_gitdir()" (and the
> > submodule--helper subcommand "gitdir") which constructs a path to a
> > submodule's gitdir, located in the provided repository's "modules"
> > directory.
> >
> > This consolidates the logic needed to build up a path into a
> > repository's "modules" directory, abstracting away the fact that
> > submodule git directories are stored in a repository's common gitdir.
> > This makes it easier to adjust how submodules gitdir are stored in the
> > "modules" directory in a future patch.
> >
> > Signed-off-by: Brandon Williams <bmwill@google.com>
> > ---
> > ...
> > @@ -2018,7 +2039,7 @@ static int connect_gitdir_workingtree(int argc, const char **argv, const char *p
> > name = argv[1];
> > path = argv[2];
> >
> > - strbuf_addf(&sb, "%s/modules/%s", get_git_dir(), name);
> > + submodule_name_to_gitdir(&sb, the_repository, name);
> > sm_gitdir = absolute_pathdup(sb.buf);
> >
> > connect_work_tree_and_git_dir(path, sm_gitdir, 0);
>
> This function goes away with 1c866b98 ("submodule--helper: replace
> connect-gitdir-workingtree by ensure-core-worktree", 2018-08-03) in
> sb/submodule-update-in-c topic. git-submodule.sh has simlar
> conflicts.
>
> I guess its replacement function does not care as deeply as its
> predecessor used to about where the submodule's $GIT_DIR is, so the
> correct resolution may be just to ignore the change made to this
> caller to the new name-to-gitdir function.Well that patch still cares about where the gitdir is except it initializes a "struct repository" for the submodule and then builds a path to the config using:
cfg_file = xstrfmt("%s/config", subrepo.gitdir);hmm...I didn't get a chance to look at that series but that line looks wrong. It probably should be more like:
cfg_file = repo_git_path(&subrepo, "config");
I'll go comment on that series.
Show 6 quoted lines
> > It would have been nicer to see a bit better inter-developer > coordination, especially between two who sit practically next to > each other ;-) > > Thanks.
-- Brandon Williams