Subject: Re: [PATCH v4 3/4] submodule: support running in multiple worktree setup

From: Jakub Narębski <[email-masked]>
Date: Wed, 27 Jul 2016 16:40:17 +0200

W dniu 2016-07-27 o 06:10, Max Kirillov pisze:
> Hi.
> 
> On Wed, Jul 20, 2016 at 07:24:18PM +0200, Nguyễn Thái Ngọc Duy wrote:
>> + - `remote.*` added by submodules may be per working directory as
>> +   well, unless you are sure remotes from all possible submodules in
>> +   history are consistent.
> ...
>> @@ -1114,7 +1114,7 @@ cmd_sync()
>>  				sanitize_submodule_env
>>  				cd "$sm_path"
>>  				remote=$(get_default_remote)
>> -				git config remote."$remote".url "$sub_origin_url"
>> +				git config --worktree remote."$remote".url "$sub_origin_url"
>>  
>>  				if test -n "$recursive"
>>  				then
> 
> I don't think remote.* should be per-worktree. 
> 
> * note that it is sumodule repository, not superproject. It
>   does not even have to have multiple worktrees.
> * it is quite bad to have it different in worktree, because
>   git fetch then results in different ref updates depending
>   on where it was called. So whatever issue it was intended
>   to solve, it hardly made things better.
> * I'm not sure I know all use cases of "submodule sync",
>   but as far as I understand, it should be called when the
>   submodule repository stays the "same" (however user
>   defines the "same"), but older url does not work for some
>   reason. Then I think it is correct to change the remote
>   url for all worktrees.

But... I don't know how sane it is, and if anybody uses it,
but one might want to use different repositories (different
forks) for different branches, and thus different worktrees.
For example the 'next' branch might want to switch to X.Org,
because XFree86 is moribund, but keep the old repo for 'maint',
or something like that ;-)

-- 
Jakub Narębski