From: Patrick Steinhardt <ps@pks.im>
To: git@vger.kernel.org
Cc: Calvin Wan <calvinwan@google.com>,
Justin Tobler <jltobler@gmail.com>,
Junio C Hamano <gitster@pobox.com>
Subject: [PATCH v2 00/21] environment: guard reliance on `the_repository`
Date: Fri, 30 Aug 2024 11:08:52 +0200 [thread overview]
Message-ID: <cover.1725008897.git.ps@pks.im> (raw)
In-Reply-To: <cover.1724923648.git.ps@pks.im>
Hi,
this is the second version of my patch series which guards functions and
variables in the environment subsystem that rely on `the_repository`
with the `USE_THE_REPOSITORY_VARIABLE` define.
Changes compared to v1:
- Clean up now-unnecessary and add newly-necessary includes.
- Stop reordering includes in "setup.c".
- Fix missing `USE_THE_REPOSITORY_VARIABLE` defines in Win32 code.
Thanks!
Patrick
Patrick Steinhardt (21):
environment: make `get_git_dir()` accept a repository
environment: make `get_git_common_dir()` accept a repository
environment: make `get_object_directory()` accept a repository
environment: make `get_index_file()` accept a repository
environment: make `get_graft_file()` accept a repository
environment: make `get_git_work_tree()` accept a repository
config: document `read_early_config()` and `read_very_early_config()`
config: make dependency on repo in `read_early_config()` explicit
environment: move `odb_mkstemp()` into object layer
environment: make `get_git_namespace()` self-contained
environment: move `set_git_dir()` and related into setup layer
environment: reorder header to split out `the_repository`-free section
environment: guard state depending on a repository
repo-settings: split out declarations into a standalone header
repo-settings: track defaults close to `struct repo_settings`
branch: stop modifying `log_all_ref_updates` variable
refs: stop modifying global `log_all_ref_updates` variable
environment: stop storing "core.logAllRefUpdates" globally
environment: stop storing "core.preferSymlinkRefs" globally
environment: stop storing "core.warnAmbiguousRefs" globally
environment: stop storing "core.notesRef" globally
alias.c | 6 +-
apply.c | 3 +-
branch.c | 5 +-
builtin/am.c | 13 +-
builtin/blame.c | 2 +-
builtin/checkout.c | 5 +-
builtin/commit-graph.c | 5 +-
builtin/commit.c | 13 +-
builtin/config.c | 4 +-
builtin/count-objects.c | 3 +-
builtin/difftool.c | 9 +-
builtin/fsmonitor--daemon.c | 7 +-
builtin/gc.c | 2 +-
builtin/init-db.c | 4 +-
builtin/merge.c | 18 +--
builtin/multi-pack-index.c | 4 +-
builtin/notes.c | 22 ++--
builtin/pack-objects.c | 2 +-
builtin/prune.c | 8 +-
builtin/repack.c | 7 +-
builtin/replace.c | 3 +-
builtin/reset.c | 5 +-
builtin/rev-parse.c | 11 +-
builtin/stash.c | 17 +--
builtin/submodule--helper.c | 2 +-
builtin/update-index.c | 4 +-
builtin/worktree.c | 4 +-
builtin/write-tree.c | 4 +-
bulk-checkin.c | 4 +-
bundle-uri.c | 2 +-
cache-tree.c | 5 +-
commit.c | 4 +-
compat/mingw.c | 2 +
compat/win32/path-utils.c | 2 +
config.c | 42 +------
config.h | 13 +-
dir.c | 3 +-
environment.c | 237 +++++-------------------------------
environment.h | 142 ++++++++++-----------
fetch-pack.c | 2 +-
fsmonitor.c | 3 +-
help.c | 2 +-
http-backend.c | 2 +-
name-hash.c | 3 +
notes.c | 21 ++--
notes.h | 3 +-
object-file.c | 37 +++++-
object-name.c | 5 +-
object-store-ll.h | 15 +++
pack-write.c | 3 +-
packfile.c | 2 +-
pager.c | 7 +-
path.c | 2 +
pathspec.c | 4 +-
preload-index.c | 3 +
prompt.c | 2 +
prune-packed.c | 6 +-
read-cache.c | 6 +-
ref-filter.c | 3 +-
refs.c | 9 +-
refs.h | 4 +-
refs/files-backend.c | 32 +++--
refs/reftable-backend.c | 22 ++--
repo-settings.c | 35 +++++-
repo-settings.h | 75 ++++++++++++
repository.c | 40 ++++++
repository.h | 58 ++-------
server-info.c | 4 +-
setup.c | 140 ++++++++++++++++++---
setup.h | 5 +-
sparse-index.c | 2 +
statinfo.c | 2 +
submodule.c | 2 +-
t/helper/test-config.c | 3 +-
t/helper/test-path-utils.c | 2 +
tmp-objdir.c | 8 +-
trace.c | 10 +-
trace2/tr2_cfg.c | 4 +-
transport-helper.c | 2 +-
tree-diff.c | 3 +
userdiff.c | 2 +
worktree.c | 12 +-
wt-status.c | 3 +-
83 files changed, 698 insertions(+), 560 deletions(-)
create mode 100644 repo-settings.h
Range-diff against v1:
1: 0fe3e3e1ccc ! 1: a1969c5b073 environment: make `get_git_dir()` accept a repository
@@ Commit message
Signed-off-by: Patrick Steinhardt <ps@pks.im>
## apply.c ##
+@@
+ #include "path.h"
+ #include "quote.h"
+ #include "read-cache.h"
++#include "repository.h"
+ #include "rerere.h"
+ #include "apply.h"
+ #include "entry.h"
@@ apply.c: static int read_apply_cache(struct apply_state *state)
{
if (state->index_file)
@@ builtin/am.c: static int fall_back_threeway(const struct am_state *state, const
return error(_("Repository lacks necessary blobs to fall back on 3-way merge."));
## builtin/commit.c ##
+@@
+ #include "path.h"
+ #include "preload-index.h"
+ #include "read-cache.h"
++#include "repository.h"
+ #include "string-list.h"
+ #include "rerere.h"
+ #include "unpack-trees.h"
@@ builtin/commit.c: static const char *prepare_index(const char **argv, const char *prefix,
discard_index(the_repository->index);
@@ builtin/config.c: static void location_options_init(struct config_location_optio
## builtin/difftool.c ##
+@@
+ #include "hex.h"
+ #include "parse-options.h"
+ #include "read-cache-ll.h"
++#include "repository.h"
+ #include "sparse-index.h"
+ #include "strvec.h"
+ #include "strbuf.h"
@@ builtin/difftool.c: static void changed_files(struct hashmap *result, const char *index_path,
struct child_process update_index = CHILD_PROCESS_INIT;
struct child_process diff_files = CHILD_PROCESS_INIT;
@@ builtin/fsmonitor--daemon.c: static int fsmonitor_run_daemon(void)
## builtin/merge.c ##
+@@
+ #include "object-name.h"
+ #include "parse-options.h"
+ #include "lockfile.h"
++#include "repository.h"
+ #include "run-command.h"
+ #include "hook.h"
+ #include "diff.h"
@@ builtin/merge.c: static void prepare_to_commit(struct commit_list *remoteheads)
if (invoked_hook)
discard_index(the_repository->index);
@@ builtin/merge.c: static void prepare_to_commit(struct commit_list *remoteheads)
BUG("the control must not reach here under --squash");
## builtin/stash.c ##
+@@
+ #include "entry.h"
+ #include "preload-index.h"
+ #include "read-cache.h"
++#include "repository.h"
+ #include "rerere.h"
+ #include "revision.h"
+ #include "setup.h"
@@ builtin/stash.c: static int do_apply_stash(const char *prefix, struct stash_info *info,
strvec_pushf(&cp.env, GIT_WORK_TREE_ENVIRONMENT"=%s",
absolute_path(get_git_work_tree()));
@@ builtin/stash.c: static int do_apply_stash(const char *prefix, struct stash_info
}
## cache-tree.c ##
+@@
+ #define USE_THE_REPOSITORY_VARIABLE
+
+ #include "git-compat-util.h"
+-#include "environment.h"
+ #include "hex.h"
+ #include "lockfile.h"
+ #include "tree.h"
+@@
+ #include "object-store-ll.h"
+ #include "read-cache-ll.h"
+ #include "replace-object.h"
++#include "repository.h"
+ #include "promisor-remote.h"
+ #include "trace.h"
+ #include "trace2.h"
@@ cache-tree.c: int write_index_as_tree(struct object_id *oid, struct index_state *index_state,
hold_lock_file_for_update(&lock_file, index_path, LOCK_DIE_ON_ERROR);
@@ pathspec.c: static void init_pathspec_item(struct pathspec_item *item, unsigned
}
## read-cache.c ##
+@@
+ #include "path.h"
+ #include "preload-index.h"
+ #include "read-cache.h"
++#include "repository.h"
+ #include "resolve-undo.h"
+ #include "revision.h"
+ #include "strbuf.h"
@@ read-cache.c: static int should_delete_shared_index(const char *shared_index_path)
static int clean_shared_index_files(const char *current_hex)
{
@@ trace.c
#include "git-compat-util.h"
#include "abspath.h"
#include "environment.h"
++#include "repository.h"
+ #include "quote.h"
+ #include "setup.h"
+ #include "trace.h"
@@ trace.c: void trace_repo_setup(void)
if (!startup_info->prefix)
prefix = "(null)";
2: cdd6dd308c3 ! 2: deebf2c5205 environment: make `get_git_common_dir()` accept a repository
@@ builtin/gc.c: static int schtasks_schedule_task(const char *exec_path, enum sche
## builtin/rev-parse.c ##
+@@
+ #include "path.h"
+ #include "diff.h"
+ #include "read-cache-ll.h"
++#include "repository.h"
+ #include "revision.h"
+ #include "setup.h"
+ #include "split-index.h"
@@ builtin/rev-parse.c: int cmd_rev_parse(int argc, const char **argv, const char *prefix)
continue;
}
3: bb01e4fab9d ! 3: 43abfa7b139 environment: make `get_object_directory()` accept a repository
@@ Commit message
Signed-off-by: Patrick Steinhardt <ps@pks.im>
## builtin/commit-graph.c ##
+@@
+ #include "builtin.h"
+ #include "commit.h"
+ #include "config.h"
+-#include "environment.h"
+ #include "gettext.h"
+ #include "hex.h"
+ #include "parse-options.h"
@@ builtin/commit-graph.c: static int graph_verify(int argc, const char **argv, const char *prefix)
usage_with_options(builtin_commit_graph_verify_usage, options);
@@ builtin/commit-graph.c: static int graph_write(int argc, const char **argv, cons
if (opts.split)
## builtin/count-objects.c ##
+@@
+ #include "builtin.h"
+ #include "config.h"
+ #include "dir.h"
+-#include "environment.h"
+ #include "gettext.h"
+ #include "path.h"
+ #include "repository.h"
@@ builtin/count-objects.c: int cmd_count_objects(int argc, const char **argv, const char *prefix)
report_linked_checkout_garbage(the_repository);
}
@@ builtin/count-objects.c: int cmd_count_objects(int argc, const char **argv, cons
if (verbose) {
## builtin/multi-pack-index.c ##
+@@
+ #include "builtin.h"
+ #include "abspath.h"
+ #include "config.h"
+-#include "environment.h"
+ #include "gettext.h"
+ #include "parse-options.h"
+ #include "midx.h"
+@@
+ #include "trace2.h"
+ #include "object-store-ll.h"
+ #include "replace-object.h"
++#include "repository.h"
+
+ #define BUILTIN_MIDX_WRITE_USAGE \
+ N_("git multi-pack-index [<options>] write [--preferred-pack=<pack>]" \
@@ builtin/multi-pack-index.c: static int parse_object_dir(const struct option *opt, const char *arg,
char **value = opt->value;
free(*value);
@@ object-file.c: int stream_loose_object(struct input_stream *in_stream, size_t le
/*
## pack-write.c ##
+@@
+ #include "pack-objects.h"
+ #include "pack-revindex.h"
+ #include "path.h"
++#include "repository.h"
+ #include "strbuf.h"
+
+ void reset_pack_idx_option(struct pack_idx_option *opts)
@@ pack-write.c: char *index_pack_lockfile(int ip_out, int *is_well_formed)
packname[len-1] = 0;
if (skip_prefix(packname, "keep\t", &name))
@@ prune-packed.c
+#define USE_THE_REPOSITORY_VARIABLE
+
#include "git-compat-util.h"
- #include "environment.h"
+-#include "environment.h"
#include "gettext.h"
+ #include "object-store-ll.h"
+ #include "packfile.h"
+ #include "progress.h"
+ #include "prune-packed.h"
++#include "repository.h"
+
+ static struct progress *progress;
+
@@ prune-packed.c: void prune_packed_objects(int opts)
if (opts & PRUNE_PACKED_VERBOSE)
progress = start_delayed_progress(_("Removing duplicate objects"), 256);
@@ repository.h: extern struct repository *the_repository;
* Define a custom repository layout. Any field can be NULL, which
## server-info.c ##
+@@
+
+ #include "git-compat-util.h"
+ #include "dir.h"
+-#include "environment.h"
+ #include "hex.h"
+ #include "repository.h"
+ #include "refs.h"
@@ server-info.c: static int write_pack_info_file(struct update_info_ctx *uic)
static int update_info_packs(int force)
@@ setup.c: static void create_object_directory(void)
safe_create_dir(path.buf, 1);
## tmp-objdir.c ##
+@@
+ #include "strvec.h"
+ #include "quote.h"
+ #include "object-store-ll.h"
++#include "repository.h"
+
+ struct tmp_objdir {
+ struct strbuf path;
@@ tmp-objdir.c: struct tmp_objdir *tmp_objdir_create(const char *prefix)
* can recognize any stale objdirs left behind by a crash and delete
* them.
4: d857c5fab44 ! 4: d7554cb0fe0 environment: make `get_index_file()` accept a repository
@@ builtin/update-index.c: int cmd_update_index(int argc, const char **argv, const
die("Unable to write new index file");
## builtin/write-tree.c ##
+@@
+
+ #include "builtin.h"
+ #include "config.h"
+-#include "environment.h"
+ #include "gettext.h"
+ #include "hex.h"
+ #include "tree.h"
@@ builtin/write-tree.c: int cmd_write_tree(int argc, const char **argv, const char *cmd_prefix)
prepare_repo_settings(the_repository);
the_repository->settings.command_requires_full_index = 0;
@@ repository.h: extern struct repository *the_repository;
* Define a custom repository layout. Any field can be NULL, which
## wt-status.c ##
+@@
+ #include "revision.h"
+ #include "diffcore.h"
+ #include "quote.h"
++#include "repository.h"
+ #include "run-command.h"
+ #include "strvec.h"
+ #include "remote.h"
@@ wt-status.c: void wt_status_prepare(struct repository *r, struct wt_status *s)
"HEAD", 0, NULL, NULL);
s->reference = "HEAD";
5: ac27d7128a4 ! 5: 1cc727e4763 environment: make `get_graft_file()` accept a repository
@@ Commit message
Signed-off-by: Patrick Steinhardt <ps@pks.im>
## builtin/replace.c ##
+@@
+ #include "builtin.h"
+ #include "config.h"
+ #include "editor.h"
+-#include "environment.h"
+ #include "gettext.h"
+ #include "hex.h"
+ #include "refs.h"
@@ builtin/replace.c: static int create_graft(int argc, const char **argv, int force, int gentle)
static int convert_graft_file(int force)
6: 7fc346d3bb5 ! 6: 22e9dcb28a9 environment: make `get_git_work_tree()` accept a repository
@@ builtin/difftool.c: int cmd_difftool(int argc, const char **argv, const char *pr
## builtin/fsmonitor--daemon.c ##
+@@
+ #include "abspath.h"
+ #include "config.h"
+ #include "dir.h"
+-#include "environment.h"
+ #include "gettext.h"
+ #include "parse-options.h"
+ #include "fsmonitor-ll.h"
@@ builtin/fsmonitor--daemon.c: static int fsmonitor_run_daemon(void)
/* Prepare to (recursively) watch the <worktree-root> directory. */
@@ builtin/init-db.c: int cmd_init_db(int argc, const char **argv, const char *pref
if (real_git_dir)
## builtin/reset.c ##
+@@
+ #include "object-name.h"
+ #include "parse-options.h"
+ #include "path.h"
++#include "repository.h"
+ #include "unpack-trees.h"
+ #include "cache-tree.h"
+ #include "setup.h"
@@ builtin/reset.c: int cmd_reset(int argc, const char **argv, const char *prefix)
else
trace2_cmd_mode(reset_type_names[reset_type]);
@@ builtin/update-index.c: int cmd_update_index(int argc, const char **argv, const
BUG("bad untracked_cache value: %d", untracked_cache);
## dir.c ##
+@@
+ #include "object-store-ll.h"
+ #include "path.h"
+ #include "refs.h"
++#include "repository.h"
+ #include "wildmatch.h"
+ #include "pathspec.h"
+ #include "utf8.h"
@@ dir.c: static const char *get_ident_string(void)
return sb.buf;
if (uname(&uts) < 0)
@@ environment.h: extern char *git_work_tree_cfg;
#define ALTERNATE_DB_ENVIRONMENT "GIT_ALTERNATE_OBJECT_DIRECTORIES"
## fsmonitor.c ##
+@@
+ #include "fsmonitor.h"
+ #include "fsmonitor-ipc.h"
+ #include "name-hash.h"
++#include "repository.h"
+ #include "run-command.h"
+ #include "strbuf.h"
+ #include "trace2.h"
@@ fsmonitor.c: static int query_fsmonitor_hook(struct repository *r,
strvec_pushf(&cp.args, "%d", version);
strvec_pushf(&cp.args, "%s", last_update);
@@ setup.c: static int create_default_files(const char *template_path,
* First copy the templates -- we might have the default
## trace.c ##
+@@
+
+ #include "git-compat-util.h"
+ #include "abspath.h"
+-#include "environment.h"
+ #include "repository.h"
+ #include "quote.h"
+ #include "setup.h"
@@ trace.c: void trace_repo_setup(void)
cwd = xgetcwd();
7: d2f81a540a2 = 7: ec4804a99bf config: document `read_early_config()` and `read_very_early_config()`
8: 85e40696cc9 = 8: b8aa5dcc0b6 config: make dependency on repo in `read_early_config()` explicit
9: 8321454adc8 ! 9: ac2cc4e0371 environment: move `odb_mkstemp()` into object layer
@@ Commit message
Signed-off-by: Patrick Steinhardt <ps@pks.im>
## bundle-uri.c ##
+@@
+ #include "bundle-uri.h"
+ #include "bundle.h"
+ #include "copy.h"
+-#include "environment.h"
+ #include "gettext.h"
+ #include "refs.h"
+ #include "run-command.h"
@@
#include "config.h"
#include "fetch-pack.h"
10: 0b3916b2d0d = 10: f0d3794dfc4 environment: make `get_git_namespace()` self-contained
11: c20f6c04dfa ! 11: 9e0e2528b94 environment: move `set_git_dir()` and related into setup layer
@@ environment.h: int have_git_dir(void);
## setup.c ##
@@
-
- #include "git-compat-util.h"
- #include "abspath.h"
-+#include "chdir-notify.h"
-+#include "config.h"
- #include "copy.h"
-+#include "dir.h"
- #include "environment.h"
#include "exec-cmd.h"
-+#include "exec-cmd.h"
#include "gettext.h"
#include "hex.h"
+#include "object-file.h"
#include "object-name.h"
-+#include "path.h"
-+#include "quote.h"
#include "refs.h"
+#include "replace-object.h"
#include "repository.h"
--#include "config.h"
--#include "dir.h"
+ #include "config.h"
+ #include "dir.h"
#include "setup.h"
+#include "shallow.h"
#include "string-list.h"
--#include "chdir-notify.h"
--#include "path.h"
--#include "quote.h"
+#include "strvec.h"
+ #include "chdir-notify.h"
+ #include "path.h"
+ #include "quote.h"
+#include "tmp-objdir.h"
+#include "trace.h"
#include "trace2.h"
#include "worktree.h"
--#include "exec-cmd.h"
-
- static int inside_git_dir = -1;
- static int inside_work_tree = -1;
+ #include "exec-cmd.h"
@@ setup.c: enum discovery_result discover_git_directory_reason(struct strbuf *commondir,
return result;
}
12: a5a78db1697 = 12: 78f77a006a0 environment: reorder header to split out `the_repository`-free section
13: 27a7d00de78 ! 13: 9a3f466b530 environment: guard state depending on a repository
@@ Commit message
Signed-off-by: Patrick Steinhardt <ps@pks.im>
+ ## compat/mingw.c ##
+@@
++#define USE_THE_REPOSITORY_VARIABLE
++
+ #include "../git-compat-util.h"
+ #include "win32.h"
+ #include <aclapi.h>
+
+ ## compat/win32/path-utils.c ##
+@@
++#define USE_THE_REPOSITORY_VARIABLE
++
+ #include "../../git-compat-util.h"
+ #include "../../environment.h"
+
+
## config.c ##
@@
*
14: b2c11c8e316 = 14: 0d7365c5190 repo-settings: split out declarations into a standalone header
17: d22209121ce = 15: 231c52ce82f repo-settings: track defaults close to `struct repo_settings`
15: f1b6807fae3 = 16: fc30365e1f1 branch: stop modifying `log_all_ref_updates` variable
16: 626e24aac7a ! 17: 9cc8518a02d refs: stop modifying global `log_all_ref_updates` variable
@@ Commit message
Signed-off-by: Patrick Steinhardt <ps@pks.im>
## builtin/checkout.c ##
+@@
+ #include "read-cache.h"
+ #include "refs.h"
+ #include "remote.h"
++#include "repo-settings.h"
+ #include "resolve-undo.h"
+ #include "revision.h"
+ #include "setup.h"
@@ builtin/checkout.c: static void update_refs_for_switch(const struct checkout_opts *opts,
refname = mkpathdup("refs/heads/%s", opts->new_orphan_branch);
@@ environment.h: extern int core_apply_sparse_checkout;
enum rebase_setup_type {
## refs.c ##
+@@
+ #include "submodule.h"
+ #include "worktree.h"
+ #include "strvec.h"
+-#include "repository.h"
++#include "repo-settings.h"
+ #include "setup.h"
+ #include "sigchain.h"
+ #include "date.h"
@@ refs.c: static char *normalize_reflog_message(const char *msg)
return strbuf_detach(&sb, NULL);
}
@@ refs.h: int refs_verify_refname_available(struct ref_store *refs,
## refs/files-backend.c ##
+@@
+ #include "../hex.h"
+ #include "../fsck.h"
+ #include "../refs.h"
++#include "../repo-settings.h"
+ #include "refs-internal.h"
+ #include "ref-cache.h"
+ #include "packed-backend.h"
@@ refs/files-backend.c: static int write_ref_to_lockfile(struct files_ref_store *refs,
static int commit_ref_update(struct files_ref_store *refs,
struct ref_lock *lock,
18: b6a9eb981ee = 18: b5ed6928070 environment: stop storing "core.logAllRefUpdates" globally
19: ef312f67f76 = 19: 194d858877f environment: stop storing "core.preferSymlinkRefs" globally
20: f2a28d38e5d ! 20: fc6fcebf7f7 environment: stop storing "core.warnAmbiguousRefs" globally
@@ Commit message
Signed-off-by: Patrick Steinhardt <ps@pks.im>
## builtin/rev-parse.c ##
+@@
+ #include "path.h"
+ #include "diff.h"
+ #include "read-cache-ll.h"
++#include "repo-settings.h"
+ #include "repository.h"
+ #include "revision.h"
+ #include "setup.h"
@@ builtin/rev-parse.c: int cmd_rev_parse(int argc, const char **argv, const char *prefix)
}
if (opt_with_value(arg, "--abbrev-ref", &arg)) {
@@ environment.h: extern int has_symlinks;
extern char *apply_default_ignorewhitespace;
## object-name.c ##
+@@
+ #include "pretty.h"
+ #include "object-store-ll.h"
+ #include "read-cache-ll.h"
++#include "repo-settings.h"
+ #include "repository.h"
+ #include "setup.h"
+ #include "midx.h"
@@ object-name.c: static int get_oid_basic(struct repository *r, const char *str, int len,
int fatal = !(flags & GET_OID_QUIETLY);
@@ object-name.c: static int get_oid_basic(struct repository *r, const char *str, i
warning(warn_msg, len, str);
## ref-filter.c ##
+@@
+ #include "object-name.h"
+ #include "object-store-ll.h"
+ #include "oid-array.h"
++#include "repo-settings.h"
+ #include "repository.h"
+ #include "commit.h"
+ #include "mailmap.h"
@@ ref-filter.c: static const char *show_ref(struct refname_atom *atom, const char *refname)
if (atom->option == R_SHORT)
return refs_shorten_unambiguous_ref(get_main_ref_store(the_repository),
21: ecafe1585f8 = 21: a0b75c4bc99 environment: stop storing "core.notesRef" globally
--
2.46.0.421.g159f2d50e7.dirty
next prev parent reply other threads:[~2024-08-30 9:08 UTC|newest]
Thread overview: 92+ messages / expand[flat|nested] mbox.gz Atom feed top
2024-08-29 9:38 [PATCH 00/21] environment: guard reliance on `the_repository` Patrick Steinhardt
2024-08-29 9:38 ` [PATCH 01/21] environment: make `get_git_dir()` accept a repository Patrick Steinhardt
2024-08-29 20:15 ` Justin Tobler
2024-08-30 7:42 ` Patrick Steinhardt
2024-08-29 9:38 ` [PATCH 02/21] environment: make `get_git_common_dir()` " Patrick Steinhardt
2024-08-29 9:38 ` [PATCH 03/21] environment: make `get_object_directory()` " Patrick Steinhardt
2024-08-29 9:38 ` [PATCH 04/21] environment: make `get_index_file()` " Patrick Steinhardt
2024-08-29 9:38 ` [PATCH 05/21] environment: make `get_graft_file()` " Patrick Steinhardt
2024-08-29 9:38 ` [PATCH 06/21] environment: make `get_git_work_tree()` " Patrick Steinhardt
2024-08-29 9:38 ` [PATCH 07/21] config: document `read_early_config()` and `read_very_early_config()` Patrick Steinhardt
2024-08-29 9:38 ` [PATCH 08/21] config: make dependency on repo in `read_early_config()` explicit Patrick Steinhardt
2024-08-29 9:38 ` [PATCH 09/21] environment: move `odb_mkstemp()` into object layer Patrick Steinhardt
2024-08-29 9:38 ` [PATCH 10/21] environment: make `get_git_namespace()` self-contained Patrick Steinhardt
2024-08-29 9:38 ` [PATCH 11/21] environment: move `set_git_dir()` and related into setup layer Patrick Steinhardt
2024-08-29 9:39 ` [PATCH 12/21] environment: reorder header to split out `the_repository`-free section Patrick Steinhardt
2024-08-29 9:39 ` [PATCH 13/21] environment: guard state depending on a repository Patrick Steinhardt
2024-08-29 9:39 ` [PATCH 14/21] repo-settings: split out declarations into a standalone header Patrick Steinhardt
2024-08-29 9:39 ` [PATCH 15/21] branch: stop modifying `log_all_ref_updates` variable Patrick Steinhardt
2024-08-29 9:39 ` [PATCH 16/21] refs: stop modifying global " Patrick Steinhardt
2024-08-29 9:39 ` [PATCH 17/21] repo-settings: track defaults close to `struct repo_settings` Patrick Steinhardt
2024-08-29 9:39 ` [PATCH 18/21] environment: stop storing "core.logAllRefUpdates" globally Patrick Steinhardt
2024-08-29 9:39 ` [PATCH 19/21] environment: stop storing "core.preferSymlinkRefs" globally Patrick Steinhardt
2024-08-29 9:39 ` [PATCH 20/21] environment: stop storing "core.warnAmbiguousRefs" globally Patrick Steinhardt
2024-08-29 9:39 ` [PATCH 21/21] environment: stop storing "core.notesRef" globally Patrick Steinhardt
2024-08-29 19:59 ` [PATCH 00/21] environment: guard reliance on `the_repository` Junio C Hamano
2024-08-30 6:58 ` Patrick Steinhardt
2024-08-30 16:32 ` Junio C Hamano
2024-09-02 9:29 ` Patrick Steinhardt
2024-08-30 9:08 ` Patrick Steinhardt [this message]
2024-08-30 9:08 ` [PATCH v2 01/21] environment: make `get_git_dir()` accept a repository Patrick Steinhardt
2024-09-11 21:12 ` karthik nayak
2024-09-12 11:17 ` Patrick Steinhardt
2024-08-30 9:09 ` [PATCH v2 02/21] environment: make `get_git_common_dir()` " Patrick Steinhardt
2024-08-30 9:09 ` [PATCH v2 03/21] environment: make `get_object_directory()` " Patrick Steinhardt
2024-08-30 9:09 ` [PATCH v2 04/21] environment: make `get_index_file()` " Patrick Steinhardt
2024-08-30 9:09 ` [PATCH v2 05/21] environment: make `get_graft_file()` " Patrick Steinhardt
2024-08-30 9:09 ` [PATCH v2 06/21] environment: make `get_git_work_tree()` " Patrick Steinhardt
2024-09-11 15:15 ` Justin Tobler
2024-09-12 11:16 ` Patrick Steinhardt
2024-08-30 9:09 ` [PATCH v2 07/21] config: document `read_early_config()` and `read_very_early_config()` Patrick Steinhardt
2024-09-11 15:59 ` Justin Tobler
2024-09-12 11:17 ` Patrick Steinhardt
2024-08-30 9:09 ` [PATCH v2 08/21] config: make dependency on repo in `read_early_config()` explicit Patrick Steinhardt
2024-09-04 1:46 ` James Liu
2024-09-04 7:14 ` Patrick Steinhardt
2024-08-30 9:09 ` [PATCH v2 09/21] environment: move `odb_mkstemp()` into object layer Patrick Steinhardt
2024-09-11 21:26 ` karthik nayak
2024-09-12 11:17 ` Patrick Steinhardt
2024-08-30 9:09 ` [PATCH v2 10/21] environment: make `get_git_namespace()` self-contained Patrick Steinhardt
2024-09-11 16:21 ` Justin Tobler
2024-08-30 9:09 ` [PATCH v2 11/21] environment: move `set_git_dir()` and related into setup layer Patrick Steinhardt
2024-08-30 9:09 ` [PATCH v2 12/21] environment: reorder header to split out `the_repository`-free section Patrick Steinhardt
2024-08-30 9:09 ` [PATCH v2 13/21] environment: guard state depending on a repository Patrick Steinhardt
2024-08-30 9:09 ` [PATCH v2 14/21] repo-settings: split out declarations into a standalone header Patrick Steinhardt
2024-08-30 9:09 ` [PATCH v2 15/21] repo-settings: track defaults close to `struct repo_settings` Patrick Steinhardt
2024-08-30 9:09 ` [PATCH v2 16/21] branch: stop modifying `log_all_ref_updates` variable Patrick Steinhardt
2024-09-11 17:14 ` Justin Tobler
2024-09-12 11:17 ` Patrick Steinhardt
2024-08-30 9:09 ` [PATCH v2 17/21] refs: stop modifying global " Patrick Steinhardt
2024-08-30 9:09 ` [PATCH v2 18/21] environment: stop storing "core.logAllRefUpdates" globally Patrick Steinhardt
2024-09-12 11:10 ` karthik nayak
2024-08-30 9:09 ` [PATCH v2 19/21] environment: stop storing "core.preferSymlinkRefs" globally Patrick Steinhardt
2024-08-30 9:09 ` [PATCH v2 20/21] environment: stop storing "core.warnAmbiguousRefs" globally Patrick Steinhardt
2024-09-04 2:10 ` James Liu
2024-08-30 9:10 ` [PATCH v2 21/21] environment: stop storing "core.notesRef" globally Patrick Steinhardt
2024-09-04 2:12 ` [PATCH v2 00/21] environment: guard reliance on `the_repository` James Liu
2024-09-04 7:14 ` Patrick Steinhardt
2024-09-12 11:14 ` karthik nayak
2024-09-12 11:17 ` Patrick Steinhardt
2024-09-12 11:29 ` [PATCH v3 " Patrick Steinhardt
2024-09-12 11:29 ` [PATCH v3 01/21] environment: make `get_git_dir()` accept a repository Patrick Steinhardt
2024-09-12 11:29 ` [PATCH v3 02/21] environment: make `get_git_common_dir()` " Patrick Steinhardt
2024-09-12 11:29 ` [PATCH v3 03/21] environment: make `get_object_directory()` " Patrick Steinhardt
2024-09-12 11:29 ` [PATCH v3 04/21] environment: make `get_index_file()` " Patrick Steinhardt
2024-09-12 11:29 ` [PATCH v3 05/21] environment: make `get_graft_file()` " Patrick Steinhardt
2024-09-12 11:29 ` [PATCH v3 06/21] environment: make `get_git_work_tree()` " Patrick Steinhardt
2024-09-12 11:29 ` [PATCH v3 07/21] config: document `read_early_config()` and `read_very_early_config()` Patrick Steinhardt
2024-09-12 11:29 ` [PATCH v3 08/21] config: make dependency on repo in `read_early_config()` explicit Patrick Steinhardt
2024-09-12 11:29 ` [PATCH v3 09/21] environment: move object database functions into object layer Patrick Steinhardt
2024-09-12 11:29 ` [PATCH v3 10/21] environment: make `get_git_namespace()` self-contained Patrick Steinhardt
2024-09-12 11:29 ` [PATCH v3 11/21] environment: move `set_git_dir()` and related into setup layer Patrick Steinhardt
2024-09-12 11:29 ` [PATCH v3 12/21] environment: reorder header to split out `the_repository`-free section Patrick Steinhardt
2024-09-12 11:30 ` [PATCH v3 13/21] environment: guard state depending on a repository Patrick Steinhardt
2024-09-12 11:30 ` [PATCH v3 14/21] repo-settings: split out declarations into a standalone header Patrick Steinhardt
2024-09-12 11:30 ` [PATCH v3 15/21] repo-settings: track defaults close to `struct repo_settings` Patrick Steinhardt
2024-09-12 11:30 ` [PATCH v3 16/21] branch: stop modifying `log_all_ref_updates` variable Patrick Steinhardt
2024-09-12 11:30 ` [PATCH v3 17/21] refs: stop modifying global " Patrick Steinhardt
2024-09-12 11:30 ` [PATCH v3 18/21] environment: stop storing "core.logAllRefUpdates" globally Patrick Steinhardt
2024-09-12 11:30 ` [PATCH v3 19/21] environment: stop storing "core.preferSymlinkRefs" globally Patrick Steinhardt
2024-09-12 11:30 ` [PATCH v3 20/21] environment: stop storing "core.warnAmbiguousRefs" globally Patrick Steinhardt
2024-09-12 11:30 ` [PATCH v3 21/21] environment: stop storing "core.notesRef" globally Patrick Steinhardt
2024-09-12 20:40 ` [PATCH v3 00/21] environment: guard reliance on `the_repository` Junio C Hamano
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=cover.1725008897.git.ps@pks.im \
--to=ps@pks.im \
--cc=calvinwan@google.com \
--cc=git@vger.kernel.org \
--cc=gitster@pobox.com \
--cc=jltobler@gmail.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).