On 08/10, Junio C Hamano wrote:
> Brandon Williams <[email protected]> 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 <[email protected]>
> > ---
> > ...
> > @@ -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.
>
> 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