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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.