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>
Tian Yuchen committed
Jun 20, 2026 at 22:09 UTC
a472af8bfdebe98e4e48a76b83e5424708cb42ef
2 files changed
+4
-4
environment.c
+2
-2
index 683fe1b4d3..f34f6fc750 100644
--- a/environment.c
+++ b/environment.c
@@ -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;
}
environment.h
+2
-2
index fdd9775900..b1ae4a70de 100644
--- a/environment.h
+++ b/environment.h
@@ -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);