All of lore.kernel.org
 help / color / mirror / Atom feed
From: Karthik Nayak <karthik.188@gmail.com>
To: karthik.188@gmail.com
Cc: git@vger.kernel.org, me@ttaylorr.com, peff@peff.net
Subject: [PATCH v5 0/9] packfile: avoid using the 'the_repository' global variable
Date: Mon,  4 Nov 2024 12:41:38 +0100	[thread overview]
Message-ID: <cover.1730714298.git.karthik.188@gmail.com> (raw)
In-Reply-To: <cover.1729504640.git.karthik.188@gmail.com>

The `packfile.c` file uses the global variable 'the_repository' extensively
throughout the code. Let's remove all usecases of this, by modifying the
required functions to accept a 'struct repository' instead. This is to clean up
usage of global state.

The first 3 patches are mostly internal to `packfile.c`, we add the repository
field to the `packed_git` struct and this is used to clear up some useages of
the global variables.

The next 3 patches are more disruptive, they modify the function definition of
`odb_pack_name`, `has_object[_kept]_pack` and `for_each_packed_object` to receive
a repository, helping remove other usages of 'the_repository' variable.

Finally, the last two patches deal with global config values. These values are
localized.

For v5, I've rebased the series off the new master: 8f8d6eee53 (The seventh
batch, 2024-11-01), as a dependency for this series 'jk/dumb-http-finalize' was
merged to master. I've found no conflicts while merging with seen & next. But
since this series does touch multiple files, there could be future conflicts.

Karthik Nayak (9):
  packfile: add repository to struct `packed_git`
  packfile: use `repository` from `packed_git` directly
  packfile: pass `repository` to static function in the file
  packfile: pass down repository to `odb_pack_name`
  packfile: pass down repository to `has_object[_kept]_pack`
  packfile: pass down repository to `for_each_packed_object`
  config: make `delta_base_cache_limit` a non-global variable
  config: make `packed_git_(limit|window_size)` non-global variables
  midx: add repository to `multi_pack_index` struct

 builtin/cat-file.c       |   7 +-
 builtin/count-objects.c  |   2 +-
 builtin/fast-import.c    |  15 ++--
 builtin/fsck.c           |  20 +++---
 builtin/gc.c             |   5 +-
 builtin/index-pack.c     |  20 ++++--
 builtin/pack-objects.c   |  11 +--
 builtin/pack-redundant.c |   2 +-
 builtin/repack.c         |   2 +-
 builtin/rev-list.c       |   2 +-
 commit-graph.c           |   4 +-
 config.c                 |  22 ------
 connected.c              |   3 +-
 diff.c                   |   3 +-
 environment.c            |   3 -
 environment.h            |   1 -
 fsck.c                   |   2 +-
 http.c                   |   4 +-
 list-objects.c           |   7 +-
 midx-write.c             |   2 +-
 midx.c                   |   3 +-
 midx.h                   |   3 +
 object-store-ll.h        |   9 ++-
 pack-bitmap.c            |  90 ++++++++++++++----------
 pack-objects.h           |   3 +-
 pack-write.c             |   1 +
 pack.h                   |   1 +
 packfile.c               | 144 ++++++++++++++++++++++-----------------
 packfile.h               |  18 +++--
 promisor-remote.c        |   2 +-
 prune-packed.c           |   2 +-
 reachable.c              |   4 +-
 repo-settings.c          |  14 ++++
 repo-settings.h          |   5 ++
 revision.c               |  13 ++--
 tag.c                    |   2 +-
 36 files changed, 261 insertions(+), 190 deletions(-)

Range-diff against v4:
 1:  b3d518e998 =  1:  6c00e25c86 packfile: add repository to struct `packed_git`
 2:  bb9d9aa744 =  2:  70fc8a79af packfile: use `repository` from `packed_git` directly
 3:  d5df50fa36 =  3:  167a1f3a11 packfile: pass `repository` to static function in the file
 4:  0107801c3b =  4:  b7cfe78217 packfile: pass down repository to `odb_pack_name`
 5:  2d7608a367 =  5:  5566f5554c packfile: pass down repository to `has_object[_kept]_pack`
 6:  2c84026d02 =  6:  1b26e45a9b packfile: pass down repository to `for_each_packed_object`
 7:  84b89c8a0e !  7:  7654bf5e7e config: make `delta_base_cache_limit` a non-global variable
    @@ Commit message
         this value from the repository config, since the value is only used once
         in the entire subsystem.
     
    +    The type of the value is changed from `size_t` to an `unsigned long`
    +    since the default value is small enough to fit inside the latter on all
    +    platforms.
    +
         These changes are made to remove the usage of `delta_base_cache_limit`
         as a global variable in `packfile.c`. This brings us one step closer to
         removing the `USE_THE_REPOSITORY_VARIABLE` definition in `packfile.c`
 8:  5bbdc7124d !  8:  2730aacd8e config: make `packed_git_(limit|window_size)` non-global variables
    @@ packfile.c
      
      #include "git-compat-util.h"
      #include "environment.h"
    -@@
    - #include "config.h"
    - #include "pack-objects.h"
    - 
    -+struct packfile_config {
    -+	unsigned long packed_git_window_size;
    -+	unsigned long packed_git_limit;
    -+};
    -+
    -+#define PACKFILE_CONFIG_INIT \
    -+{ \
    -+	.packed_git_window_size = DEFAULT_PACKED_GIT_WINDOW_SIZE, \
    -+	.packed_git_limit = DEFAULT_PACKED_GIT_LIMIT, \
    -+}
    -+
    - char *odb_pack_name(struct repository *r, struct strbuf *buf,
    - 		    const unsigned char *hash, const char *ext)
    - {
     @@ packfile.c: static size_t pack_mapped;
      #define SZ_FMT PRIuMAX
      static inline uintmax_t sz_fmt(size_t s) { return s; }
      
     -void pack_report(void)
    -+static int packfile_config(const char *var, const char *value,
    -+			   const struct config_context *ctx, void *cb)
    -+{
    -+	struct packfile_config *config = cb;
    -+
    -+	if (!strcmp(var, "core.packedgitwindowsize")) {
    -+		int pgsz_x2 = getpagesize() * 2;
    -+		config->packed_git_window_size = git_config_ulong(var, value, ctx->kvi);
    -+
    -+		/* This value must be multiple of (pagesize * 2) */
    -+		config->packed_git_window_size /= pgsz_x2;
    -+		if (config->packed_git_window_size < 1)
    -+			config->packed_git_window_size = 1;
    -+		config->packed_git_window_size *= pgsz_x2;
    -+		return 0;
    -+	} else if (!strcmp(var, "core.packedgitlimit")) {
    -+		config->packed_git_limit = git_config_ulong(var, value, ctx->kvi);
    -+		return 0;
    -+	} else {
    -+		return git_default_config(var, value, ctx, cb);
    -+	}
    -+}
    -+
     +void pack_report(struct repository *repo)
      {
    -+	struct packfile_config config = PACKFILE_CONFIG_INIT;
    -+	repo_config(repo, packfile_config, &config);
    -+
      	fprintf(stderr,
      		"pack_report: getpagesize()            = %10" SZ_FMT "\n"
      		"pack_report: core.packedGitWindowSize = %10" SZ_FMT "\n"
    @@ packfile.c: static size_t pack_mapped;
      		sz_fmt(getpagesize()),
     -		sz_fmt(packed_git_window_size),
     -		sz_fmt(packed_git_limit));
    -+		sz_fmt(config.packed_git_window_size),
    -+		sz_fmt(config.packed_git_limit));
    ++		sz_fmt(repo->settings.packed_git_window_size),
    ++		sz_fmt(repo->settings.packed_git_limit));
      	fprintf(stderr,
      		"pack_report: pack_used_ctr            = %10u\n"
      		"pack_report: pack_mmap_calls          = %10u\n"
    @@ packfile.c: unsigned char *use_pack(struct packed_git *p,
      		}
      		if (!win) {
     -			size_t window_align = packed_git_window_size / 2;
    -+			struct packfile_config config = PACKFILE_CONFIG_INIT;
     +			size_t window_align;
      			off_t len;
    - 
    -+			repo_config(p->repo, packfile_config, &config);
    -+			window_align = config.packed_git_window_size / 2;
    ++			struct repo_settings *settings = &p->repo->settings;
     +
    ++			window_align = settings->packed_git_window_size / 2;
    + 
      			if (p->pack_fd == -1 && open_packed_git(p))
      				die("packfile %s cannot be accessed", p->pack_name);
    - 
    +@@ packfile.c: unsigned char *use_pack(struct packed_git *p,
      			CALLOC_ARRAY(win, 1);
      			win->offset = (offset / window_align) * window_align;
      			len = p->pack_size - win->offset;
     -			if (len > packed_git_window_size)
     -				len = packed_git_window_size;
    -+			if (len > config.packed_git_window_size)
    -+				len = config.packed_git_window_size;
    ++			if (len > settings->packed_git_window_size)
    ++				len = settings->packed_git_window_size;
      			win->len = (size_t)len;
      			pack_mapped += win->len;
     -			while (packed_git_limit < pack_mapped
     +
    -+			while (config.packed_git_limit < pack_mapped
    ++			while (settings->packed_git_limit < pack_mapped
      				&& unuse_one_window(p))
      				; /* nothing */
      			win->base = xmmap_gently(NULL, win->len,
    @@ packfile.h: unsigned long repo_approximate_object_count(struct repository *r);
      
      /*
       * mmap the index file for the specified packfile (if it is not
    +
    + ## repo-settings.c ##
    +@@ repo-settings.c: void prepare_repo_settings(struct repository *r)
    + 	const char *strval;
    + 	int manyfiles;
    + 	int read_changed_paths;
    ++	unsigned long longval;
    + 
    + 	if (!r->gitdir)
    + 		BUG("Cannot add settings for uninitialized repository");
    +@@ repo-settings.c: void prepare_repo_settings(struct repository *r)
    + 	 * removed.
    + 	 */
    + 	r->settings.command_requires_full_index = 1;
    ++
    ++	if (!repo_config_get_ulong(r, "core.packedgitwindowsize", &longval)) {
    ++		int pgsz_x2 = getpagesize() * 2;
    ++
    ++		/* This value must be multiple of (pagesize * 2) */
    ++		longval /= pgsz_x2;
    ++		if (longval < 1)
    ++			longval = 1;
    ++		r->settings.packed_git_window_size = longval * pgsz_x2;
    ++	}
    ++
    ++	if (!repo_config_get_ulong(r, "core.packedgitlimit", &longval))
    ++		r->settings.packed_git_limit = longval;
    + }
    + 
    + enum log_refs_config repo_settings_get_log_all_ref_updates(struct repository *repo)
    +
    + ## repo-settings.h ##
    +@@ repo-settings.h: struct repo_settings {
    + 
    + 	int core_multi_pack_index;
    + 	int warn_ambiguous_refs; /* lazily loaded via accessor */
    ++
    ++	size_t packed_git_window_size;
    ++	size_t packed_git_limit;
    + };
    + #define REPO_SETTINGS_INIT { \
    + 	.index_version = -1, \
    + 	.core_untracked_cache = UNTRACKED_CACHE_KEEP, \
    + 	.fetch_negotiation_algorithm = FETCH_NEGOTIATION_CONSECUTIVE, \
    + 	.warn_ambiguous_refs = -1, \
    ++	.packed_git_window_size = DEFAULT_PACKED_GIT_WINDOW_SIZE, \
    ++	.packed_git_limit = DEFAULT_PACKED_GIT_LIMIT, \
    + }
    + 
    + void prepare_repo_settings(struct repository *r);
 9:  bb15a0be56 =  9:  8e33d40077 midx: add repository to `multi_pack_index` struct
-- 
2.47.0


  parent reply	other threads:[~2024-11-04 11:41 UTC|newest]

Thread overview: 184+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2024-10-21  9:57 [PATCH 00/20] packfile: avoid using the 'the_repository' global variable Karthik Nayak
2024-10-21  9:57 ` [PATCH 01/20] packfile: pass down repository to `odb_pack_name` Karthik Nayak
2024-10-21 21:06   ` Taylor Blau
2024-10-22  8:51     ` karthik nayak
2024-10-22 16:37       ` Taylor Blau
2024-10-21  9:57 ` [PATCH 02/20] packfile: pass down repository to `unuse_one_window` Karthik Nayak
2024-10-21 21:08   ` Taylor Blau
2024-10-21  9:57 ` [PATCH 03/20] packfile: pass down repository to `close_one_pack` Karthik Nayak
2024-10-21  9:57 ` [PATCH 04/20] packfile: pass down repository to `add_packed_git` Karthik Nayak
2024-10-21  9:57 ` [PATCH 05/20] packfile: pass down repository to `unpack_object_header` Karthik Nayak
2024-10-21  9:57 ` [PATCH 06/20] packfile: pass down repository to `get_delta_base` Karthik Nayak
2024-10-21  9:57 ` [PATCH 07/20] packfile: use provided repository in `packed_object_info` Karthik Nayak
2024-10-21  9:57 ` [PATCH 08/20] packfile: pass down repository to `unpack_compressed_entry` Karthik Nayak
2024-10-21  9:57 ` [PATCH 09/20] packfile: pass down repository to `nth_packed_object_id` Karthik Nayak
2024-10-21  9:57 ` [PATCH 10/20] packfile: pass down repository to `find_pack_entry_one` Karthik Nayak
2024-10-21  9:57 ` [PATCH 11/20] packfile: pass down repository to `fill_pack_entry` Karthik Nayak
2024-10-21  9:57 ` [PATCH 12/20] packfile: pass down repository to `has_object[_kept]_pack` Karthik Nayak
2024-10-21  9:57 ` [PATCH 13/20] packfile: pass down repository to `for_each_packed_object` Karthik Nayak
2024-10-21  9:57 ` [PATCH 14/20] packfile: pass down repository to `is_promisor_object` Karthik Nayak
2024-10-21  9:57 ` [PATCH 15/20] object-store: pass down repository to `each_packed_object_fn` Karthik Nayak
2024-10-21  9:57 ` [PATCH 16/20] packfile: pass down repository to `open_pack_index` Karthik Nayak
2024-10-21  9:58 ` [PATCH 17/20] packfile: stop using 'the_hash_algo' Karthik Nayak
2024-10-21  9:58 ` [PATCH 18/20] packfile: pass down repository to `nth_packed_object_offset` Karthik Nayak
2024-10-21  9:58 ` [PATCH 19/20] config: make `delta_base_cache_limit` a non-global variable Karthik Nayak
2024-10-21  9:58 ` [PATCH 20/20] config: make `packed_git_(limit|window_size)` non-global variables Karthik Nayak
2024-10-21 21:03 ` [PATCH 00/20] packfile: avoid using the 'the_repository' global variable Taylor Blau
2024-10-27 21:23   ` karthik nayak
2024-10-27 23:54     ` Taylor Blau
2024-10-28  5:31     ` Jeff King
2024-10-28 13:36       ` karthik nayak
2024-10-28 15:21         ` Taylor Blau
2024-10-28 13:43 ` [PATCH v2 0/8] " Karthik Nayak
2024-10-28 13:43   ` [PATCH v2 1/8] packfile: add repository to struct `packed_git` Karthik Nayak
2024-10-28 16:05     ` Taylor Blau
2024-10-29 11:46       ` karthik nayak
2024-10-29 17:27         ` Taylor Blau
2024-10-28 13:43   ` [PATCH v2 2/8] packfile: use `repository` from `packed_git` directly Karthik Nayak
2024-10-28 16:08     ` Taylor Blau
2024-10-29 11:48       ` karthik nayak
2024-10-28 13:43   ` [PATCH v2 3/8] packfile: pass `repository` to static function in the file Karthik Nayak
2024-10-28 16:12     ` Taylor Blau
2024-10-28 13:43   ` [PATCH v2 4/8] packfile: pass down repository to `odb_pack_name` Karthik Nayak
2024-10-28 16:14     ` Taylor Blau
2024-10-29  5:50     ` Jeff King
2024-10-29 12:45       ` karthik nayak
2024-10-29 17:33       ` Taylor Blau
2024-10-28 13:43   ` [PATCH v2 5/8] packfile: pass down repository to `has_object[_kept]_pack` Karthik Nayak
2024-10-28 16:28     ` Taylor Blau
2024-10-29 16:03       ` karthik nayak
2024-10-28 13:43   ` [PATCH v2 6/8] packfile: pass down repository to `for_each_packed_object` Karthik Nayak
2024-10-28 13:43   ` [PATCH v2 7/8] config: make `delta_base_cache_limit` a non-global variable Karthik Nayak
2024-10-28 16:38     ` me
2024-10-29 16:07       ` karthik nayak
2024-10-28 13:43   ` [PATCH v2 8/8] config: make `packed_git_(limit|window_size)` non-global variables Karthik Nayak
2024-10-28 16:45     ` Taylor Blau
2024-10-29 16:09       ` karthik nayak
2024-10-29 17:48         ` Taylor Blau
2024-10-30 14:32 ` [PATCH v3 0/9] packfile: avoid using the 'the_repository' global variable Karthik Nayak
2024-10-30 14:32   ` [PATCH v3 1/9] packfile: add repository to struct `packed_git` Karthik Nayak
2024-10-30 20:00     ` Taylor Blau
2024-10-30 14:32   ` [PATCH v3 2/9] packfile: use `repository` from `packed_git` directly Karthik Nayak
2024-10-30 14:32   ` [PATCH v3 3/9] packfile: pass `repository` to static function in the file Karthik Nayak
2024-10-30 14:32   ` [PATCH v3 4/9] packfile: pass down repository to `odb_pack_name` Karthik Nayak
2024-10-30 14:32   ` [PATCH v3 5/9] packfile: pass down repository to `has_object[_kept]_pack` Karthik Nayak
2024-10-30 14:32   ` [PATCH v3 6/9] packfile: pass down repository to `for_each_packed_object` Karthik Nayak
2024-10-30 14:32   ` [PATCH v3 7/9] config: make `delta_base_cache_limit` a non-global variable Karthik Nayak
2024-10-30 14:32   ` [PATCH v3 8/9] config: make `packed_git_(limit|window_size)` non-global variables Karthik Nayak
2024-10-30 14:32   ` [PATCH v3 9/9] midx: add repository to `multi_pack_index` struct Karthik Nayak
2024-10-30 20:13     ` Taylor Blau
2024-10-31  9:34       ` karthik nayak
2024-10-31  9:39 ` [PATCH v4 0/9] packfile: avoid using the 'the_repository' global variable Karthik Nayak
2024-10-31  9:39   ` [PATCH v4 1/9] packfile: add repository to struct `packed_git` Karthik Nayak
2024-10-31  9:39   ` [PATCH v4 2/9] packfile: use `repository` from `packed_git` directly Karthik Nayak
2024-10-31  9:39   ` [PATCH v4 3/9] packfile: pass `repository` to static function in the file Karthik Nayak
2024-10-31  9:39   ` [PATCH v4 4/9] packfile: pass down repository to `odb_pack_name` Karthik Nayak
2024-10-31  9:39   ` [PATCH v4 5/9] packfile: pass down repository to `has_object[_kept]_pack` Karthik Nayak
2024-10-31  9:39   ` [PATCH v4 6/9] packfile: pass down repository to `for_each_packed_object` Karthik Nayak
2024-10-31  9:39   ` [PATCH v4 7/9] config: make `delta_base_cache_limit` a non-global variable Karthik Nayak
2024-10-31  9:39   ` [PATCH v4 8/9] config: make `packed_git_(limit|window_size)` non-global variables Karthik Nayak
2024-11-01 17:45     ` Jeff King
2024-11-01 19:00       ` Taylor Blau
2024-11-04  9:35       ` karthik nayak
2024-10-31  9:39   ` [PATCH v4 9/9] midx: add repository to `multi_pack_index` struct Karthik Nayak
2024-10-31 20:05   ` [PATCH v4 0/9] packfile: avoid using the 'the_repository' global variable Taylor Blau
2024-11-01 14:36     ` Taylor Blau
2024-11-01 16:07       ` karthik nayak
2024-11-01 17:29         ` Jeff King
2024-11-04  9:39           ` karthik nayak
2024-11-04 17:27             ` Jeff King
2024-11-04 11:41 ` Karthik Nayak [this message]
2024-11-04 11:41   ` [PATCH v5 1/9] packfile: add repository to struct `packed_git` Karthik Nayak
2024-11-04 11:41   ` [PATCH v5 2/9] packfile: use `repository` from `packed_git` directly Karthik Nayak
2024-11-04 11:41   ` [PATCH v5 3/9] packfile: pass `repository` to static function in the file Karthik Nayak
2024-11-04 11:41   ` [PATCH v5 4/9] packfile: pass down repository to `odb_pack_name` Karthik Nayak
2024-11-04 11:41   ` [PATCH v5 5/9] packfile: pass down repository to `has_object[_kept]_pack` Karthik Nayak
2024-11-04 11:41   ` [PATCH v5 6/9] packfile: pass down repository to `for_each_packed_object` Karthik Nayak
2024-11-04 11:41   ` [PATCH v5 7/9] config: make `delta_base_cache_limit` a non-global variable Karthik Nayak
2024-11-04 11:41   ` [PATCH v5 8/9] config: make `packed_git_(limit|window_size)` non-global variables Karthik Nayak
2024-11-04 17:38     ` Jeff King
2024-11-05  9:50       ` karthik nayak
2024-11-04 11:41   ` [PATCH v5 9/9] midx: add repository to `multi_pack_index` struct Karthik Nayak
2024-11-04 17:32   ` [PATCH v5 0/9] packfile: avoid using the 'the_repository' global variable Jeff King
2024-11-05  9:43     ` karthik nayak
2024-11-07 14:10 ` [PATCH v6 " Karthik Nayak
2024-11-07 14:10   ` [PATCH v6 1/9] packfile: add repository to struct `packed_git` Karthik Nayak
2024-11-07 14:10   ` [PATCH v6 2/9] packfile: use `repository` from `packed_git` directly Karthik Nayak
2024-11-07 14:10   ` [PATCH v6 3/9] packfile: pass `repository` to static function in the file Karthik Nayak
2024-11-07 14:10   ` [PATCH v6 4/9] packfile: pass down repository to `odb_pack_name` Karthik Nayak
2024-11-07 14:10   ` [PATCH v6 5/9] packfile: pass down repository to `has_object[_kept]_pack` Karthik Nayak
2024-11-07 14:10   ` [PATCH v6 6/9] packfile: pass down repository to `for_each_packed_object` Karthik Nayak
2024-11-07 14:10   ` [PATCH v6 7/9] config: make `delta_base_cache_limit` a non-global variable Karthik Nayak
2024-11-07 14:10   ` [PATCH v6 8/9] config: make `packed_git_(limit|window_size)` non-global variables Karthik Nayak
2024-11-08  3:42     ` Junio C Hamano
2024-11-08  9:27       ` karthik nayak
2024-11-07 14:10   ` [PATCH v6 9/9] midx: add repository to `multi_pack_index` struct Karthik Nayak
2024-11-08  7:49   ` [PATCH v6 0/9] packfile: avoid using the 'the_repository' global variable Junio C Hamano
2024-11-08  9:28     ` karthik nayak
2024-11-11 11:14 ` [PATCH v7 " Karthik Nayak
2024-11-11 11:14   ` [PATCH v7 1/9] packfile: add repository to struct `packed_git` Karthik Nayak
2024-11-13 12:41     ` Toon Claes
2024-11-13 13:04       ` karthik nayak
2024-11-13 23:56         ` Junio C Hamano
2024-11-14 10:04           ` karthik nayak
2024-11-20 22:30       ` Taylor Blau
2024-11-21 10:20         ` karthik nayak
2024-11-11 11:14   ` [PATCH v7 2/9] packfile: use `repository` from `packed_git` directly Karthik Nayak
2024-11-11 11:14   ` [PATCH v7 3/9] packfile: pass `repository` to static function in the file Karthik Nayak
2024-11-11 11:14   ` [PATCH v7 4/9] packfile: pass down repository to `odb_pack_name` Karthik Nayak
2024-11-11 11:14   ` [PATCH v7 5/9] packfile: pass down repository to `has_object[_kept]_pack` Karthik Nayak
2024-11-11 11:14   ` [PATCH v7 6/9] packfile: pass down repository to `for_each_packed_object` Karthik Nayak
2024-11-20 22:38     ` Taylor Blau
2024-11-20 22:48       ` [PATCH] packfile.c: remove unnecessary prepare_packed_git() call Taylor Blau
2024-11-21  9:13         ` Jeff King
2024-11-11 11:14   ` [PATCH v7 7/9] config: make `delta_base_cache_limit` a non-global variable Karthik Nayak
2024-11-20 22:52     ` Taylor Blau
2024-11-21  9:06       ` Jeff King
2024-11-21 13:10       ` karthik nayak
2024-11-11 11:14   ` [PATCH v7 8/9] config: make `packed_git_(limit|window_size)` non-global variables Karthik Nayak
2024-11-11 11:14   ` [PATCH v7 9/9] midx: add repository to `multi_pack_index` struct Karthik Nayak
2024-11-12  8:30   ` [PATCH v7 0/9] packfile: avoid using the 'the_repository' global variable Jeff King
2024-11-13 13:03     ` karthik nayak
2024-11-20 22:55   ` Taylor Blau
2024-11-21 13:12     ` karthik nayak
2024-11-22 10:08 ` [PATCH v8 00/10] " Karthik Nayak
2024-11-22 10:08   ` [PATCH v8 01/10] packfile: add repository to struct `packed_git` Karthik Nayak
2024-11-22 10:08   ` [PATCH v8 02/10] packfile: use `repository` from `packed_git` directly Karthik Nayak
2024-11-22 10:08   ` [PATCH v8 03/10] packfile: pass `repository` to static function in the file Karthik Nayak
2024-11-22 10:08   ` [PATCH v8 04/10] packfile: pass down repository to `odb_pack_name` Karthik Nayak
2024-11-22 10:08   ` [PATCH v8 05/10] packfile: pass down repository to `has_object[_kept]_pack` Karthik Nayak
2024-11-22 10:08   ` [PATCH v8 06/10] packfile: pass down repository to `for_each_packed_object` Karthik Nayak
2024-11-22 10:08   ` [PATCH v8 07/10] config: make `delta_base_cache_limit` a non-global variable Karthik Nayak
2024-11-26  7:25     ` Junio C Hamano
2024-11-26 10:54       ` karthik nayak
2024-11-22 10:08   ` [PATCH v8 08/10] config: make `packed_git_(limit|window_size)` non-global variables Karthik Nayak
2024-11-22 10:08   ` [PATCH v8 09/10] midx: add repository to `multi_pack_index` struct Karthik Nayak
2024-11-22 10:08   ` [PATCH v8 10/10] packfile.c: remove unnecessary prepare_packed_git() call Karthik Nayak
2024-11-26 10:57 ` [PATCH v9 00/10] packfile: avoid using the 'the_repository' global variable Karthik Nayak
2024-11-26 10:57   ` [PATCH v9 01/10] packfile: add repository to struct `packed_git` Karthik Nayak
2024-11-27  9:24     ` Kristoffer Haugsbakk
2024-11-27 12:15       ` karthik nayak
2024-11-26 10:57   ` [PATCH v9 02/10] packfile: use `repository` from `packed_git` directly Karthik Nayak
2024-11-26 10:57   ` [PATCH v9 03/10] packfile: pass `repository` to static function in the file Karthik Nayak
2024-11-27  7:44     ` Kristoffer Haugsbakk
2024-11-27  9:09       ` karthik nayak
2024-11-26 10:57   ` [PATCH v9 04/10] packfile: pass down repository to `odb_pack_name` Karthik Nayak
2024-11-26 10:57   ` [PATCH v9 05/10] packfile: pass down repository to `has_object[_kept]_pack` Karthik Nayak
2024-11-26 10:57   ` [PATCH v9 06/10] packfile: pass down repository to `for_each_packed_object` Karthik Nayak
2024-11-26 10:57   ` [PATCH v9 07/10] config: make `delta_base_cache_limit` a non-global variable Karthik Nayak
2024-11-26 10:57   ` [PATCH v9 08/10] config: make `packed_git_(limit|window_size)` non-global variables Karthik Nayak
2024-11-26 10:57   ` [PATCH v9 09/10] midx: add repository to `multi_pack_index` struct Karthik Nayak
2024-11-26 10:57   ` [PATCH v9 10/10] packfile.c: remove unnecessary prepare_packed_git() call Karthik Nayak
2024-12-03 14:43 ` [PATCH v10 00/10] packfile: avoid using the 'the_repository' global variable Karthik Nayak
2024-12-03 14:43   ` [PATCH v10 01/10] packfile: add repository to struct `packed_git` Karthik Nayak
2024-12-03 14:43   ` [PATCH v10 02/10] packfile: use `repository` from `packed_git` directly Karthik Nayak
2024-12-03 14:43   ` [PATCH v10 03/10] packfile: pass `repository` to static function in the file Karthik Nayak
2024-12-03 14:43   ` [PATCH v10 04/10] packfile: pass down repository to `odb_pack_name` Karthik Nayak
2024-12-03 14:43   ` [PATCH v10 05/10] packfile: pass down repository to `has_object[_kept]_pack` Karthik Nayak
2024-12-03 14:44   ` [PATCH v10 06/10] packfile: pass down repository to `for_each_packed_object` Karthik Nayak
2024-12-03 14:44   ` [PATCH v10 07/10] config: make `delta_base_cache_limit` a non-global variable Karthik Nayak
2024-12-03 14:44   ` [PATCH v10 08/10] config: make `packed_git_(limit|window_size)` non-global variables Karthik Nayak
2024-12-03 14:44   ` [PATCH v10 09/10] midx: add repository to `multi_pack_index` struct Karthik Nayak
2024-12-03 14:44   ` [PATCH v10 10/10] packfile.c: remove unnecessary prepare_packed_git() call Karthik Nayak
2024-12-03 16:46   ` [PATCH v10 00/10] packfile: avoid using the 'the_repository' global variable Kristoffer Haugsbakk
2024-12-03 23:24     ` 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.1730714298.git.karthik.188@gmail.com \
    --to=karthik.188@gmail.com \
    --cc=git@vger.kernel.org \
    --cc=me@ttaylorr.com \
    --cc=peff@peff.net \
    /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.