Subject: Re: [PATCH v3 3/4] submodule: record superproject gitdir during absorbgitdirs

From: Emily Shaffer <[email-masked]>
Date: Wed, 13 Oct 2021 12:42:00 -0700

On Thu, Aug 19, 2021 at 08:50:27PM -0400, Derrick Stolee wrote:
> 
> On 8/19/2021 4:09 PM, Emily Shaffer wrote:
> > +	/* cache pointer to superproject's gitdir */
> > +	/* NEEDSWORK: this may differ if experimental.worktreeConfig is enabled */
> > +	strbuf_addf(&config_path, "%s/config", real_new_git_dir);
> 
> Regarding this NEEDSWORK: you are specifying the config file that
> covers every worktree of this submodule, which seems to make sense
> to me. The submodule shouldn't have worktrees to itself, right? It
> might become a worktree if its superproject has a worktree.
> 
> But also: it's still correct to write to the local, non-worktree
> config file even if experimental.worktreeConfig is set. That
> config just means "we need to read the worktree config as well
> as the local config".
> 
> Or, am I misunderstanding something?
> 
> (I'm advocating for the removal of the NEEDSWORK, in case that
> wasn't clear.)

Yeah, I think by pointing from submodule gitdir to superproject gitdir
this point goes away, anyways. Regardless of which worktree is in use,
the gitdir->gitdir pointer will still be valid. I'll delete the
NEEDSWORK.

> 
> > +	git_config_set_in_file(config_path.buf, "submodule.superprojectGitdir",
> > +			       relative_path(get_super_prefix_or_empty(),
> > +					     path, &sb));
> 
> Thanks,
> -Stolee
>