Re: [PATCH 2/3] environment: clarify repository config getter documentation

Junio C Hamano <[email protected]> Wed, 05 Aug 2026 14:38:41 -0700
Newsgroups org.kernel.vger.git
Message-ID <[email protected]>
Tian Yuchen <[email protected]> writes:

> Update the comment above repository config getters to describe their
> common behavior.
>
> The getters handle repositories that are not fully initialized by
> returning the corresponding default values.
>
> Mentored-by: Christian Couder <[email protected]>
> Mentored-by: Ayush Chandekar <[email protected]>
> Mentored-by: Olamide Caleb Bello <[email protected]>
> Signed-off-by: Tian Yuchen <[email protected]>
> ---
>  environment.h | 11 +++--------
>  1 file changed, 3 insertions(+), 8 deletions(-)
>
> diff --git a/environment.h b/environment.h
> index e7ec5b0437..30678257b5 100644
> --- a/environment.h
> +++ b/environment.h
> @@ -175,18 +175,13 @@ int git_default_core_config(const char *var, const char *value,
>  			    const struct config_context *ctx, void *cb);
>  
>  /*
> - * Getters for the `protect_hfs` and `protect_ntfs` fields of `struct repo_config_values`.
> - * They check `repo->initialized` to prevent calling `repo_config_values()`
> - * before the repository setup is fully complete or in non-git environments.
> + * Getters for configuration variables in `struct repo_config_values`.
> + * These functions handle uninitialized repositories or non-git
> + * environments by returning appropriate default values.
>   */
>  int repo_protect_hfs(struct repository *repo);
>  int repo_protect_ntfs(struct repository *repo);
>  
> -/*

Two puzzlements.

 * Is the above comment block meant to apply to repo_ignore_case()
   in addition to repo_protect_ntfs() and repo_protect_hfs()?  If
   so, the blank line before repo_ignore_case() is a bit misleading.

 * The phrase "uninitialized repositories or non-Git environments"
   strongly hints that I can pass NULL to indicate that we are
   running in a non-Git environment.  However, the change in
   [PATCH 1/3] we just saw means I would get a segfault if I did so,
   does it not?

> - * Getter for the `ignore_case` field of `struct repo_config_values`.
> - * It checks `repo->initialized` to prevent calling repo_config_values()`
> - * before the repository setup is fully complete or in non-git environments.
> - */
>  int repo_ignore_case(struct repository *repo);
>  
>  int repo_trust_executable_bit(struct repository *repo);