Subject: Re: [PATCH v3] config.c: split some variables to $GIT_DIR/config.worktree

From: Max Kirillov <[email-masked]>
Date: Mon, 20 Apr 2015 05:51:32 +0300

On Sat, Apr 18, 2015 at 06:10:23PM +0700, Duy Nguyen wrote:
> On Tue, Apr 14, 2015 at 02:37:39AM +0300, Max Kirillov wrote:
> > On Tue, Mar 31, 2015 at 07:14:39PM +0700, Nguyễn Thái Ngọc Duy wrote:
> > > core.worktree and core.bare, which are treated specially in 31e26eb [1],
> > > are now moved to info/core.worktree and the special treatment reverted.
> > <...>
> > > -	if (get_common_dir(&sb, gitdir))
> > > -		fn = check_repo_format;
> > > -	else
> > > -		fn = check_repository_format_version;
> > 
> > By the way, after this '$GIT_DIR/common overrides core.worktree'
> > from t1501 started failing. I don't know what would be
> > better to do with the case, just remove maybe?
> 
> I think that test spots a real problem. In this function, I ignore the
> config split when I pass NULL as worktree_config to git_config_early().
> Something like this should fix it.

I just realized that the testcase does have
info/config.worktree with the variable included, because
any repository has it. Then, of course, the variable from
common directory should be ignored and the testcase is correct.

By the way, if checkout --to run on repository created
before the feaure added, the linked checkout will not be
able to use own variables. Should checkout --to check that
the file exists and create it in case it does not?