environment: use 'repo->initialized' for repo_protect_hfs() and repo_protect_ntfs()

To match how we refrain from calling repo_config_values() on an
uninitialized instance of a repository object in other two topics
that deal with ignore_case and trust_executable_bit, check the
repo->initialized bit instead of the repo->gitdir member.

Mentored-by: Christian Couder <christian.couder@gmail.com>
Mentored-by: Ayush Chandekar <ayu.chandekar@gmail.com>
Mentored-by: Olamide Caleb Bello <belkid98@gmail.com>
Signed-off-by: Tian Yuchen <cat@malon.dev>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
next
Tian Yuchen 2026-06-20 22:09:57 +08:00 committed by Junio C Hamano
parent 71386c21df
commit a472af8bfd
2 changed files with 4 additions and 4 deletions

View File

@ -142,14 +142,14 @@ int is_bare_repository(void)

int repo_protect_ntfs(struct repository *repo)
{
return repo->gitdir ?
return (repo && repo->initialized) ?
repo_config_values(repo)->protect_ntfs :
PROTECT_NTFS_DEFAULT;
}

int repo_protect_hfs(struct repository *repo)
{
return repo->gitdir ?
return (repo && repo->initialized) ?
repo_config_values(repo)->protect_hfs :
PROTECT_HFS_DEFAULT;
}

View File

@ -127,8 +127,8 @@ int git_default_core_config(const char *var, const char *value,

/*
* Getters for the `protect_hfs` and `protect_ntfs` fields of `struct repo_config_values`.
* They check `repo->gitdir` to prevent calling repo_config_values()
* before the configuration is loaded or in bare environments.
* They check `repo->initialized` to prevent calling `repo_config_values()`
* before the repository setup is fully complete or in non-git environments.
*/
int repo_protect_hfs(struct repository *repo);
int repo_protect_ntfs(struct repository *repo);