]> git.ipfire.org Git - thirdparty/git.git/commitdiff
Merge branch 'ob/core-attributesfile-in-repository' into seen
authorJunio C Hamano <gitster@pobox.com>
Sat, 17 Jan 2026 18:37:34 +0000 (10:37 -0800)
committerJunio C Hamano <gitster@pobox.com>
Sat, 17 Jan 2026 18:37:34 +0000 (10:37 -0800)
The core.attributesfile is intended to be set per repository, but
were kept track of by a single global variable in-core, which has
been corrected by moving it to per-repository data structure.

Comments?

* ob/core-attributesfile-in-repository:
  environment: move "branch.autoSetupMerge" into `struct repo_config_values`
  environment: environment: stop using core.sparseCheckout globally
  environment: stop storing `core.attributesFile` globally

1  2 
builtin/checkout.c
builtin/clone.c
builtin/grep.c
builtin/sparse-checkout.c
builtin/submodule--helper.c
builtin/worktree.c
environment.c
environment.h
repository.c
repository.h
wt-status.c

Simple merge
diff --cc builtin/clone.c
Simple merge
diff --cc builtin/grep.c
Simple merge
Simple merge
Simple merge
Simple merge
diff --cc environment.c
index 0026eb227487dd3cc3290d13f61a9d977682bac8,437d14e1ae01dbe8eff119e23b1e2d5a98afdfe9..b5fa2c99a6596f644c704b842bd8d0970d6b0f12
@@@ -301,9 -321,11 +298,11 @@@ next_name
        return (current & ~negative) | positive;
  }
  
 -static int git_default_core_config(const char *var, const char *value,
 -                                 const struct config_context *ctx, void *cb)
 +int git_default_core_config(const char *var, const char *value,
 +                          const struct config_context *ctx, void *cb)
  {
+       struct repo_config_values *cfg = &the_repository->config_values;
        /* This needs a better name */
        if (!strcmp(var, "core.filemode")) {
                trust_executable_bit = git_config_bool(var, value);
diff --cc environment.h
index 27f657af046a511c5521e247c8d60474c0972b30,bfcdffe83642cfc69e7544bd13d661bd4e7b672c..489fd620536d398f58be6c4bad543a935dd8c7cf
@@@ -106,9 -117,9 +117,11 @@@ const char *strip_namespace(const char 
  
  int git_default_config(const char *, const char *,
                       const struct config_context *, void *);
 +int git_default_core_config(const char *var, const char *value,
 +                          const struct config_context *ctx, void *cb);
  
+ void repo_config_values_init(struct repo_config_values *cfg);
  /*
   * TODO: All the below state either explicitly or implicitly relies on
   * `the_repository`. We should eventually get rid of these and make the
diff --cc repository.c
Simple merge
diff --cc repository.h
Simple merge
diff --cc wt-status.c
Simple merge