RE: [Patch 2/3] Documentation/config.txt: add worktree includeIf conditionals.

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On July 13, 2021 9:05 PM. Junio C Hamano wrote:
>randall.becker@xxxxxxxxxxxx writes:
>
>> From: "Randall S. Becker" <rsbecker@xxxxxxxxxxxxx>
>>
>> Documentation of the worktree and worktree/i conditionals is add based
>> on gitdir rules except that the trailing / form of the path is not supported.
>>
>> Signed-off-by: Randall S. Becker <rsbecker@xxxxxxxxxxxxx>
>> ---
>>  Documentation/config.txt | 11 ++++++++++-
>>  1 file changed, 10 insertions(+), 1 deletion(-)
>>
>> diff --git a/Documentation/config.txt b/Documentation/config.txt index
>> bf82766a6a..7e951937ae 100644
>> --- a/Documentation/config.txt
>> +++ b/Documentation/config.txt
>> @@ -143,7 +143,16 @@ refer to linkgit:gitignore[5] for details. For convenience:
>>
>>  `gitdir/i`::
>>  	This is the same as `gitdir` except that matching is done
>> -	case-insensitively (e.g. on case-insensitive file systems)
>> +	case-insensitively (e.g. on case-insensitive file systems).
>> +
>> +`worktree`::
>> +	This is similar to `gitdir` except that matching is done with
>> +	the path of a worktree instead of the main repository. Unlike
>> +	`gitdir`, the trailing / form of the worktree path is not supported.
>
>It is not immediately obvious what "the trailing / form" means.
>
>Does it refer to the 4th item in the 4-bullet list in the description just above the patch context (I am trying to make a guess
here)?
>
>The problem I perceive in this description is that there is no phrase "trailing" in the vicinity of what readers have read so far;
readers who
>are not exactly familiar with the system may need a bit more assurance that they guessed correctly.
>
>    Unlike `gitdir`, `**` will not be automatically added to a
>    pattern that ends with `/`
>
>would be easier to give that assurance, albeit more verbosely.
>
>Assuming that I guessed correctly, is this a deliberate design decision not to "automatically add ** after a pattern that ends with
a slash",
>and if so why?  I would have thought that "in the worktrees that I create inside /var/tmp/, please enable these configuration
variables"
>would be a fairly natural thing to ask, and I do not immediately see a reason why we want to apply different syntax rules between
"gitdir"
>and "worktree".

The reason for this comes down to what is in *the_repository. Essentially, the_repository->gitdir always has a /path/to/.git
directory with full qualification. the_repository->worktree does not have /.git added for obvious reasons, so the /path/to is bare
of the trailing /. This causes a trailing pattern /to/path/** match to fail. I could copy the value into a working buffer but that
seemed a bit clunky. So using the available information, the syntax rules need to be different between the two, unless the value of
worktree is augmented. I was unsure which way the team wanted to go on this.




[Index of Archives]     [Linux Kernel Development]     [Gcc Help]     [IETF Annouce]     [DCCP]     [Netdev]     [Networking]     [Security]     [V4L]     [Bugtraq]     [Yosemite]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux RAID]     [Linux SCSI]     [Fedora Users]

  Powered by Linux