Merge branch 'ty/repo-config-cleanups' into seen

Repository configuration getters in 'environment.c' have been
simplified by removing redundant NULL checks.  The documentation for
these getters in 'environment.h' has been clarified, and inaccurate
section comments inside 'struct repo_config_values' have been removed.

* ty/repo-config-cleanups:
  environment: remove inaccurate repo_config_values comments
  environment: clarify repository config getter documentation
  environment: drop redundant NULL checks in config getters
This commit is contained in:
Junio C Hamano
2026-08-07 14:48:30 -07:00
2 changed files with 13 additions and 25 deletions

View File

@@ -119,23 +119,23 @@ int is_bare_repository(struct repository *repo)
int repo_protect_ntfs(struct repository *repo)
{
return (repo && repo->initialized) ?
repo_config_values(repo)->protect_ntfs :
PROTECT_NTFS_DEFAULT;
return repo->initialized
? repo_config_values(repo)->protect_ntfs
: PROTECT_NTFS_DEFAULT;
}
int repo_protect_hfs(struct repository *repo)
{
return (repo && repo->initialized) ?
repo_config_values(repo)->protect_hfs :
PROTECT_HFS_DEFAULT;
return repo->initialized
? repo_config_values(repo)->protect_hfs
: PROTECT_HFS_DEFAULT;
}
int repo_ignore_case(struct repository *repo)
{
return (repo && repo->initialized) ?
repo_config_values(repo)->ignore_case :
0;
return repo->initialized
? repo_config_values(repo)->ignore_case
: 0;
}
int repo_trust_executable_bit(struct repository *repo)

View File

@@ -115,7 +115,6 @@ enum object_creation_mode {
};
struct repo_config_values {
/* section "core" config values */
char *attributes_file;
char *excludes_file;
char *editor_program;
@@ -139,11 +138,7 @@ struct repo_config_values {
int ignore_case;
int trust_executable_bit;
int has_symlinks;
/* section "sparse" config values */
int sparse_expect_files_outside_of_patterns;
/* section "branch" config values */
enum branch_track branch_track;
};
@@ -175,22 +170,15 @@ 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 require a non-NULL repository pointer and handle
* repositories that are not fully initialized by returning appropriate
* default values.
*/
int repo_protect_hfs(struct repository *repo);
int repo_protect_ntfs(struct repository *repo);
/*
* 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);
int repo_has_symlinks(struct repository *repo);
const char *repo_excludes_file(struct repository *repo);