On 08/08, Stefan Beller wrote: > On Wed, Aug 8, 2018 at 3:33 PM Brandon Williams <bmwill@xxxxxxxxxx> wrote: > > > > 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. > > Makes sense. > > > > > 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. > > and yet, all places that we touch were and still are broken for old-style > submodules that have their git directory inside the working tree? > Do we need to pay attention to those, too? This series only tries to address the issues with submodules stored in $GITDIR/modules/ and places in our codebase that explicitly reference submodules stored there. For those old-old-style submodules, wouldn't the absorb submodule functions handle that migration? > > > > diff --git a/git-submodule.sh b/git-submodule.sh > > index 8b5ad59bde..053747d290 100755 > > --- a/git-submodule.sh > > +++ b/git-submodule.sh > > > @@ -577,7 +578,7 @@ cmd_update() > > die "$(eval_gettext "Unable to find current \${remote_name}/\${branch} revision in submodule path '\$sm_path'")" > > fi > > > > - if ! $(git config -f "$(git rev-parse --git-common-dir)/modules/$name/config" core.worktree) 2>/dev/null > > + if ! $(git config -f "$(git submodule--helper gitdir "$name")/config" core.worktree) 2>/dev/null > > This will collide with origin/sb/submodule-update-in-c specifically > 1c866b9831d (submodule--helper: replace connect-gitdir-workingtree > by ensure-core-worktree, 2018-08-03), but as that removes these lines, > it should be easy to resolve the conflict. -- Brandon Williams