From: Brandon Williams <bmwill@google.com>
To: "Nguyễn Thái Ngọc Duy" <pclouds@gmail.com>
Cc: git@vger.kernel.org, gitster@pobox.com, jonathantanmy@google.com,
sbeller@google.com, sunshine@sunshineco.com
Subject: Re: [PATCH v2 1/4] repository.c: move env-related setup code back to environment.c
Date: Tue, 27 Feb 2018 12:09:59 -0800 [thread overview]
Message-ID: <20180227200959.GJ209668@google.com> (raw)
In-Reply-To: <20180227095846.9238-2-pclouds@gmail.com>
On 02/27, Nguyễn Thái Ngọc Duy wrote:
> It does not make sense that generic repository code contains handling
> of environment variables, which are specific for the main repository
> only. Refactor repo_set_gitdir() function to take $GIT_DIR and
> optionally _all_ other customizable paths. These optional paths can be
> NULL and will be calculated according to the default directory layout.
>
> Note that some dead functions are left behind to reduce diff
> noise. They will be deleted in the next patch.
>
> Signed-off-by: Nguyễn Thái Ngọc Duy <pclouds@gmail.com>
> ---
> cache.h | 2 +-
> environment.c | 29 +++++++++++++++++++++++++---
> repository.c | 53 +++++++++++++++++++++++++++++++++++++++++++++------
> repository.h | 11 ++++++++++-
> setup.c | 3 +--
> 5 files changed, 85 insertions(+), 13 deletions(-)
>
> diff --git a/cache.h b/cache.h
> index 5717399183..b164a407eb 100644
> --- a/cache.h
> +++ b/cache.h
> @@ -459,7 +459,7 @@ static inline enum object_type object_type(unsigned int mode)
> */
> extern const char * const local_repo_env[];
>
> -extern void setup_git_env(void);
> +extern void setup_git_env(const char *git_dir);
>
> /*
> * Returns true iff we have a configured git repository (either via
> diff --git a/environment.c b/environment.c
> index ec10b062e6..74a2900ddf 100644
> --- a/environment.c
> +++ b/environment.c
> @@ -14,6 +14,7 @@
> #include "fmt-merge-msg.h"
> #include "commit.h"
> #include "object-store.h"
> +#include "argv-array.h"
>
> int trust_executable_bit = 1;
> int trust_ctime = 1;
> @@ -148,10 +149,33 @@ static char *expand_namespace(const char *raw_namespace)
> return strbuf_detach(&buf, NULL);
> }
>
> -void setup_git_env(void)
> +/* Wrapper of getenv() that returns a strdup value. This value is kept
> + * in argv to be freed later.
> + */
> +static const char *getenv_safe(struct argv_array *argv, const char *name)
> +{
> + const char *value = getenv(name);
> +
> + if (!value)
> + return NULL;
> +
> + argv_array_push(argv, value);
> + return argv->argv[argv->argc - 1];
> +}
> +
> +void setup_git_env(const char *git_dir)
> {
> const char *shallow_file;
> const char *replace_ref_base;
> + struct set_gitdir_args args = { NULL };
> + struct argv_array to_free = ARGV_ARRAY_INIT;
> +
> + args.shared_root = getenv_safe(&to_free, GIT_COMMON_DIR_ENVIRONMENT);
> + args.object_dir = getenv_safe(&to_free, DB_ENVIRONMENT);
> + args.graft_file = getenv_safe(&to_free, GRAFT_ENVIRONMENT);
> + args.index_file = getenv_safe(&to_free, INDEX_ENVIRONMENT);
> + repo_set_gitdir(the_repository, git_dir, &args);
> + argv_array_clear(&to_free);
>
> if (getenv(NO_REPLACE_OBJECTS_ENVIRONMENT))
> check_replace_refs = 0;
> @@ -301,8 +325,7 @@ int set_git_dir(const char *path)
> {
> if (setenv(GIT_DIR_ENVIRONMENT, path, 1))
> return error("Could not set GIT_DIR to '%s'", path);
> - repo_set_gitdir(the_repository, path);
> - setup_git_env();
> + setup_git_env(path);
> return 0;
> }
>
> diff --git a/repository.c b/repository.c
> index a069b1b640..343efe7282 100644
> --- a/repository.c
> +++ b/repository.c
> @@ -61,15 +61,55 @@ static void repo_setup_env(struct repository *repo)
> "index", !repo->ignore_env);
> }
>
> -void repo_set_gitdir(struct repository *repo, const char *path)
> +static void expand_base_dir(char **out, const char *in,
> + const char *base_dir, const char *def_in)
> {
> - const char *gitfile = read_gitfile(path);
> - char *old_gitdir = repo->gitdir;
> + free(*out);
> + if (in)
> + *out = xstrdup(in);
> + else
> + *out = xstrfmt("%s/%s", base_dir, def_in);
> +}
> +
> +static void repo_set_commondir(struct repository *repo,
> + const char *shared_root)
> +{
> + struct strbuf sb = STRBUF_INIT;
> +
> + free(repo->commondir);
>
> - repo->gitdir = xstrdup(gitfile ? gitfile : path);
> - repo_setup_env(repo);
> + if (shared_root) {
> + repo->different_commondir = 1;
> + repo->commondir = xstrdup(shared_root);
> + return;
> + }
>
> + repo->different_commondir = get_common_dir_noenv(&sb, repo->gitdir);
> + repo->commondir = strbuf_detach(&sb, NULL);
> +}
> +
> +void repo_set_gitdir(struct repository *repo,
> + const char *root,
> + const struct set_gitdir_args *o)
> +{
> + const char *gitfile = read_gitfile(root);
> + /*
> + * repo->gitdir is saved because the caller could pass "root"
> + * that also points to repo->gitdir. We want to keep it alive
> + * until after xstrdup(root). Then we can free it.
> + */
> + char *old_gitdir = repo->gitdir;
> +
> + repo->gitdir = xstrdup(gitfile ? gitfile : root);
> free(old_gitdir);
> +
> + repo_set_commondir(repo, o->shared_root);
> + expand_base_dir(&repo->objects.objectdir, o->object_dir,
> + repo->commondir, "objects");
> + expand_base_dir(&repo->graft_file, o->graft_file,
> + repo->commondir, "info/grafts");
> + expand_base_dir(&repo->index_file, o->index_file,
> + repo->gitdir, "index");
> }
>
> void repo_set_hash_algo(struct repository *repo, int hash_algo)
> @@ -87,6 +127,7 @@ static int repo_init_gitdir(struct repository *repo, const char *gitdir)
> int error = 0;
> char *abspath = NULL;
> const char *resolved_gitdir;
> + struct set_gitdir_args args = { NULL };
>
> abspath = real_pathdup(gitdir, 0);
> if (!abspath) {
> @@ -101,7 +142,7 @@ static int repo_init_gitdir(struct repository *repo, const char *gitdir)
> goto out;
> }
>
> - repo_set_gitdir(repo, resolved_gitdir);
> + repo_set_gitdir(repo, resolved_gitdir, &args);
>
> out:
> free(abspath);
> diff --git a/repository.h b/repository.h
> index fa73ab8e93..b5b5d138aa 100644
> --- a/repository.h
> +++ b/repository.h
> @@ -89,7 +89,16 @@ struct repository {
>
> extern struct repository *the_repository;
>
> -extern void repo_set_gitdir(struct repository *repo, const char *path);
> +struct set_gitdir_args {
> + const char *shared_root;
Can you add a comment explaining what shared_root is? From reading the
code it seems to be the common gitdir but its not clear from just
reading this.
> + const char *object_dir;
> + const char *graft_file;
> + const char *index_file;
> +};
> +
> +extern void repo_set_gitdir(struct repository *repo,
> + const char *root,
> + const struct set_gitdir_args *optional);
> extern void repo_set_worktree(struct repository *repo, const char *path);
> extern void repo_set_hash_algo(struct repository *repo, int algo);
> extern int repo_init(struct repository *repo, const char *gitdir, const char *worktree);
> diff --git a/setup.c b/setup.c
> index c5d55dcee4..6fac1bb58a 100644
> --- a/setup.c
> +++ b/setup.c
> @@ -1116,8 +1116,7 @@ const char *setup_git_directory_gently(int *nongit_ok)
> const char *gitdir = getenv(GIT_DIR_ENVIRONMENT);
> if (!gitdir)
> gitdir = DEFAULT_GIT_DIR_ENVIRONMENT;
> - repo_set_gitdir(the_repository, gitdir);
> - setup_git_env();
> + setup_git_env(gitdir);
> }
> if (startup_info->have_repository)
> repo_set_hash_algo(the_repository, repo_fmt.hash_algo);
> --
> 2.16.1.435.g8f24da2e1a
>
--
Brandon Williams
next prev parent reply other threads:[~2018-02-27 20:10 UTC|newest]
Thread overview: 239+ messages / expand[flat|nested] mbox.gz Atom feed top
2018-02-13 1:22 [PATCH 00/26] Moving global state into the repository object (part 1) Stefan Beller
2018-02-13 1:22 ` [PATCH 01/26] repository: introduce raw object store field Stefan Beller
2018-02-13 1:22 ` [PATCH 02/26] object-store: move alt_odb_list and alt_odb_tail to object store Stefan Beller
2018-02-13 18:51 ` Brandon Williams
2018-02-13 19:46 ` Stefan Beller
2018-02-13 1:22 ` [PATCH 03/26] object-store: free alt_odb_list Stefan Beller
2018-02-13 1:22 ` [PATCH 04/26] object-store: move packed_git and packed_git_mru to object store Stefan Beller
2018-02-13 1:22 ` [PATCH 05/26] object-store: close all packs upon clearing the " Stefan Beller
2018-02-13 1:22 ` [PATCH 06/26] pack: move prepare_packed_git_run_once to " Stefan Beller
2018-02-13 1:22 ` [PATCH 07/26] pack: move approximate object count " Stefan Beller
2018-02-13 1:22 ` [PATCH 08/26] sha1_file: add raw_object_store argument to alt_odb_usable Stefan Beller
2018-02-13 1:22 ` [PATCH 09/26] sha1_file: add repository argument to link_alt_odb_entry Stefan Beller
2018-02-13 1:22 ` [PATCH 10/26] sha1_file: add repository argument to read_info_alternates Stefan Beller
2018-02-13 1:22 ` [PATCH 11/26] sha1_file: add repository argument to link_alt_odb_entries Stefan Beller
2018-02-13 1:22 ` [PATCH 12/26] sha1_file: add repository argument to prepare_alt_odb Stefan Beller
2018-02-13 1:22 ` [PATCH 13/26] sha1_file: allow link_alt_odb_entries to handle arbitrary repositories Stefan Beller
2018-02-13 1:22 ` [PATCH 14/26] sha1_file: allow prepare_alt_odb " Stefan Beller
2018-02-14 0:37 ` Duy Nguyen
2018-02-14 18:08 ` Brandon Williams
2018-02-23 9:56 ` [PATCH 0/2] Fix initializing the_hash_algo Nguyễn Thái Ngọc Duy
2018-02-23 9:56 ` [PATCH 1/2] setup.c: initialize the_repository correctly in all cases Nguyễn Thái Ngọc Duy
2018-02-23 22:17 ` brian m. carlson
2018-02-24 3:17 ` Duy Nguyen
2018-02-23 9:56 ` [PATCH 2/2] Revert "repository: pre-initialize hash algo pointer" Nguyễn Thái Ngọc Duy
2018-02-23 18:24 ` Stefan Beller
2018-02-23 19:50 ` Junio C Hamano
2018-02-23 20:04 ` Stefan Beller
2018-02-23 22:26 ` Junio C Hamano
2018-02-23 22:29 ` brian m. carlson
2018-02-23 23:16 ` Brandon Williams
2018-02-24 3:44 ` Duy Nguyen
2018-02-26 23:09 ` Junio C Hamano
2018-03-03 1:51 ` Duy Nguyen
2018-02-23 22:47 ` [PATCH 0/2] Fix initializing the_hash_algo brian m. carlson
2018-02-24 3:34 ` [PATCH v2 0/5] " Nguyễn Thái Ngọc Duy
2018-02-24 3:34 ` [PATCH v2 1/5] setup.c: initialize the_repository correctly in all cases Nguyễn Thái Ngọc Duy
2018-02-24 3:34 ` [PATCH v2 2/5] sha1_file.c: keep a good name for "unknown" hash_algos[UNKNOWN] Nguyễn Thái Ngọc Duy
2018-02-24 22:39 ` brian m. carlson
2018-02-24 3:34 ` [PATCH v2 3/5] index-pack: check (and optionally set) hash algo based on input file Nguyễn Thái Ngọc Duy
2018-02-24 22:56 ` brian m. carlson
2018-02-24 3:34 ` [PATCH v2 4/5] diff.c: initialize hash algo when running in --no-index mode Nguyễn Thái Ngọc Duy
2018-02-24 8:15 ` Eric Sunshine
2018-02-24 13:45 ` Duy Nguyen
2018-02-24 14:36 ` Duy Nguyen
2018-02-24 22:29 ` brian m. carlson
2018-02-24 3:34 ` [PATCH v2 5/5] Revert "repository: pre-initialize hash algo pointer" Nguyễn Thái Ngọc Duy
2018-02-24 22:58 ` brian m. carlson
2018-02-25 3:29 ` Duy Nguyen
2018-02-25 20:28 ` brian m. carlson
2018-02-25 11:18 ` [PATCH v3 0/6] Fix initializing the_hash_algo Nguyễn Thái Ngọc Duy
2018-02-25 11:18 ` [PATCH v3 1/6] setup.c: initialize the_repository correctly in all cases Nguyễn Thái Ngọc Duy
2018-02-25 11:18 ` [PATCH v3 2/6] sha1_file.c: keep a good name for "unknown" hash_algos[UNKNOWN] Nguyễn Thái Ngọc Duy
2018-02-25 11:18 ` [PATCH v3 3/6] cache.h: make the_hash_algo read-only Nguyễn Thái Ngọc Duy
2018-02-25 11:18 ` [PATCH v3 4/6] index-pack: check (and optionally set) hash algo based on input file Nguyễn Thái Ngọc Duy
2018-02-25 11:18 ` [PATCH v3 5/6] diff.c: initialize hash algo when running in --no-index mode Nguyễn Thái Ngọc Duy
2018-02-25 11:18 ` [PATCH v3 6/6] Revert "repository: pre-initialize hash algo pointer" Nguyễn Thái Ngọc Duy
2018-02-25 20:34 ` [PATCH v3 0/6] Fix initializing the_hash_algo brian m. carlson
2018-02-26 19:20 ` Stefan Beller
2018-02-26 10:30 ` [PATCH 0/4] Delete ignore_env member in struct repository Nguyễn Thái Ngọc Duy
2018-02-26 10:30 ` [PATCH 1/4] repository.c: move env-related setup code back to environment.c Nguyễn Thái Ngọc Duy
2018-02-26 18:57 ` Eric Sunshine
2018-02-27 9:11 ` Duy Nguyen
2018-02-27 9:39 ` Duy Nguyen
2018-02-26 20:30 ` Stefan Beller
2018-02-27 0:28 ` Duy Nguyen
2018-02-26 10:30 ` [PATCH 2/4] repository.c: delete dead functions Nguyễn Thái Ngọc Duy
2018-02-26 10:30 ` [PATCH 3/4] sha1_file.c: move delayed getenv(altdb) back to setup_git_env() Nguyễn Thái Ngọc Duy
2018-02-26 10:30 ` [PATCH 4/4] repository: delete ignore_env member Nguyễn Thái Ngọc Duy
2018-02-26 18:07 ` [PATCH 0/4] Delete ignore_env member in struct repository Junio C Hamano
2018-02-26 20:46 ` Stefan Beller
2018-02-27 0:18 ` Duy Nguyen
2018-02-27 9:58 ` [PATCH v2 " Nguyễn Thái Ngọc Duy
2018-02-27 9:58 ` [PATCH v2 1/4] repository.c: move env-related setup code back to environment.c Nguyễn Thái Ngọc Duy
2018-02-27 20:09 ` Brandon Williams [this message]
2018-02-27 9:58 ` [PATCH v2 2/4] repository.c: delete dead functions Nguyễn Thái Ngọc Duy
2018-02-27 20:10 ` Brandon Williams
2018-02-27 9:58 ` [PATCH v2 3/4] sha1_file.c: move delayed getenv(altdb) back to setup_git_env() Nguyễn Thái Ngọc Duy
2018-02-27 20:12 ` Brandon Williams
2018-02-28 0:58 ` Duy Nguyen
2018-02-27 9:58 ` [PATCH v2 4/4] repository: delete ignore_env member Nguyễn Thái Ngọc Duy
2018-02-27 20:14 ` Brandon Williams
2018-02-27 10:10 ` [PATCH v2 0/4] Delete ignore_env member in struct repository Eric Sunshine
2018-02-27 18:09 ` Stefan Beller
2018-02-28 1:37 ` [PATCH v3 " Nguyễn Thái Ngọc Duy
2018-02-28 1:37 ` [PATCH v3 1/4] repository.c: move env-related setup code back to environment.c Nguyễn Thái Ngọc Duy
2018-02-28 1:37 ` [PATCH v3 2/4] repository.c: delete dead functions Nguyễn Thái Ngọc Duy
2018-02-28 1:37 ` [PATCH v3 3/4] sha1_file.c: move delayed getenv(altdb) back to setup_git_env() Nguyễn Thái Ngọc Duy
2018-02-28 1:37 ` [PATCH v3 4/4] repository: delete ignore_env member Nguyễn Thái Ngọc Duy
2018-02-28 18:12 ` [PATCH v3 0/4] Delete ignore_env member in struct repository Brandon Williams
2018-02-28 18:57 ` Junio C Hamano
2018-02-13 1:22 ` [PATCH 15/26] sha1_file: add repository argument to sha1_file_name Stefan Beller
2018-02-13 1:22 ` [PATCH 16/26] sha1_file: add repository argument to stat_sha1_file Stefan Beller
2018-02-13 1:22 ` [PATCH 17/26] sha1_file: add repository argument to open_sha1_file Stefan Beller
2018-02-13 1:22 ` [PATCH 18/26] sha1_file: add repository argument to map_sha1_file_1 Stefan Beller
2018-02-13 1:22 ` [PATCH 19/26] sha1_file: add repository argument to map_sha1_file Stefan Beller
2018-02-13 1:22 ` [PATCH 20/26] sha1_file: add repository argument to sha1_loose_object_info Stefan Beller
2018-02-13 1:22 ` [PATCH 21/26] sha1_file: allow sha1_file_name to handle arbitrary repositories Stefan Beller
2018-02-13 1:22 ` [PATCH 22/26] sha1_file: allow stat_sha1_file " Stefan Beller
2018-02-13 1:22 ` [PATCH 23/26] sha1_file: allow open_sha1_file " Stefan Beller
2018-02-13 1:22 ` [PATCH 24/26] sha1_file: allow map_sha1_file_1 " Stefan Beller
2018-02-13 1:22 ` [PATCH 25/26] sha1_file: allow map_sha1_file " Stefan Beller
2018-02-13 1:22 ` [PATCH 26/26] sha1_file: allow sha1_loose_object_info " Stefan Beller
2018-02-13 1:38 ` [PATCH 00/26] Moving global state into the repository object (part 1) Stefan Beller
2018-02-13 11:49 ` Duy Nguyen
2018-02-13 12:13 ` Duy Nguyen
2018-02-13 16:52 ` Brandon Williams
2018-02-13 17:47 ` Stefan Beller
2018-02-13 18:57 ` Junio C Hamano
2018-02-13 19:23 ` Stefan Beller
2018-02-13 19:35 ` Junio C Hamano
2018-02-13 19:43 ` Stefan Beller
2018-02-14 0:30 ` Junio C Hamano
2018-02-13 19:26 ` Jonathan Nieder
2018-02-14 0:57 ` Duy Nguyen
2018-02-13 19:33 ` Brandon Williams
2018-02-15 20:42 ` Junio C Hamano
2018-02-15 21:09 ` Stefan Beller
2018-02-16 17:46 ` [PATCHv2 00/16] " Stefan Beller
2018-02-16 17:46 ` [PATCH 01/16] repository: introduce raw object store field Stefan Beller
2018-02-16 17:46 ` [PATCH 02/16] object-store: move alt_odb_list and alt_odb_tail to object store Stefan Beller
2018-02-16 17:46 ` [PATCH 03/16] object-store: free alt_odb_list Stefan Beller
2018-02-16 17:46 ` [PATCH 04/16] object-store: move packed_git and packed_git_mru to object store Stefan Beller
2018-02-16 20:27 ` Junio C Hamano
2018-02-16 17:46 ` [PATCH 05/16] object-store: close all packs upon clearing the " Stefan Beller
2018-02-16 17:46 ` [PATCH 06/16] pack: move prepare_packed_git_run_once to " Stefan Beller
2018-02-16 17:46 ` [PATCH 07/16] pack: move approximate object count " Stefan Beller
2018-02-16 17:46 ` [PATCH 08/16] sha1_file: add raw_object_store argument to alt_odb_usable Stefan Beller
2018-02-16 17:46 ` [PATCH 09/16] sha1_file: allow link_alt_odb_entries to handle arbitrary object stores Stefan Beller
2018-02-16 17:46 ` [PATCH 10/16] sha1_file: allow prepare_alt_odb " Stefan Beller
2018-02-16 17:46 ` [PATCH 11/16] sha1_file: allow sha1_file_name " Stefan Beller
2018-02-16 17:46 ` [PATCH 12/16] sha1_file: allow stat_sha1_file " Stefan Beller
2018-02-16 17:46 ` [PATCH 13/16] sha1_file: allow open_sha1_file " Stefan Beller
2018-02-16 17:46 ` [PATCH 14/16] sha1_file: allow map_sha1_file_1 " Stefan Beller
2018-02-16 17:46 ` [PATCH 15/16] sha1_file: allow map_sha1_file " Stefan Beller
2018-02-16 17:46 ` [PATCH 16/16] sha1_file: allow sha1_loose_object_info " Stefan Beller
2018-02-16 22:34 ` [PATCHv2 00/16] Moving global state into the repository object (part 1) Jonathan Nieder
2018-02-20 18:55 ` Stefan Beller
2018-02-20 19:00 ` Brandon Williams
2018-02-20 19:03 ` Stefan Beller
2018-02-20 19:03 ` Junio C Hamano
2018-02-20 19:06 ` Stefan Beller
2018-02-20 19:55 ` Junio C Hamano
2018-02-20 20:16 ` Stefan Beller
2018-02-21 1:54 ` [PATCHv3 00/27] " Stefan Beller
2018-02-21 1:54 ` [PATCH 01/27] repository: introduce raw object store field Stefan Beller
2018-02-22 6:26 ` Jonathan Nieder
2018-02-21 1:54 ` [PATCH 02/27] object-store: migrate alternates struct and functions from cache.h Stefan Beller
2018-02-22 0:37 ` Brandon Williams
2018-02-21 1:54 ` [PATCH 03/27] object-store: move alt_odb_list and alt_odb_tail to object store Stefan Beller
2018-02-22 0:41 ` Brandon Williams
2018-02-21 1:54 ` [PATCH 04/27] object-store: free alt_odb_list Stefan Beller
2018-02-22 0:42 ` Brandon Williams
2018-02-21 1:54 ` [PATCH 05/27] object-store: move packed_git and packed_git_mru to object store Stefan Beller
2018-02-21 21:51 ` Junio C Hamano
2018-02-23 20:01 ` Stefan Beller
2018-02-22 6:44 ` Jonathan Nieder
2018-02-23 21:42 ` Stefan Beller
2018-02-21 1:54 ` [PATCH 06/27] object-store: close all packs upon clearing the " Stefan Beller
2018-02-22 0:43 ` Brandon Williams
2018-02-21 1:54 ` [PATCH 07/27] pack: move prepare_packed_git_run_once to " Stefan Beller
2018-02-22 0:20 ` Jonathan Tan
2018-02-21 1:54 ` [PATCH 08/27] pack: move approximate object count " Stefan Beller
2018-02-22 0:47 ` Brandon Williams
2018-02-23 22:22 ` Stefan Beller
2018-02-26 8:55 ` Jeff King
2018-02-26 20:57 ` Stefan Beller
2018-02-21 1:54 ` [PATCH 09/27] sha1_file: add raw_object_store argument to alt_odb_usable Stefan Beller
2018-02-22 0:29 ` Jonathan Tan
2018-02-21 1:54 ` [PATCH 10/27] sha1_file: add repository argument to link_alt_odb_entry Stefan Beller
2018-02-21 1:54 ` [PATCH 11/27] sha1_file: add repository argument to read_info_alternates Stefan Beller
2018-02-21 1:54 ` [PATCH 12/27] sha1_file: add repository argument to link_alt_odb_entries Stefan Beller
2018-02-21 1:54 ` [PATCH 13/27] sha1_file: add repository argument to prepare_alt_odb Stefan Beller
2018-02-22 6:51 ` Jonathan Nieder
2018-02-23 22:33 ` Stefan Beller
2018-02-21 1:54 ` [PATCH 14/27] sha1_file: allow link_alt_odb_entries to handle arbitrary repositories Stefan Beller
2018-02-22 0:49 ` Brandon Williams
2018-02-21 1:54 ` [PATCH 15/27] sha1_file: allow prepare_alt_odb " Stefan Beller
2018-02-22 0:35 ` Jonathan Tan
2018-02-23 23:18 ` Stefan Beller
2018-02-21 1:54 ` [PATCH 16/27] sha1_file: add repository argument to sha1_file_name Stefan Beller
2018-02-22 0:51 ` Brandon Williams
2018-02-23 22:36 ` Stefan Beller
2018-02-23 23:11 ` Brandon Williams
2018-02-21 1:54 ` [PATCH 17/27] sha1_file: add repository argument to stat_sha1_file Stefan Beller
2018-02-22 6:52 ` Jonathan Nieder
2018-02-21 1:54 ` [PATCH 18/27] sha1_file: add repository argument to open_sha1_file Stefan Beller
2018-02-21 1:54 ` [PATCH 19/27] sha1_file: add repository argument to map_sha1_file_1 Stefan Beller
2018-02-22 0:36 ` Jonathan Tan
2018-02-21 1:54 ` [PATCH 20/27] sha1_file: add repository argument to map_sha1_file Stefan Beller
2018-02-21 1:54 ` [PATCH 21/27] sha1_file: add repository argument to sha1_loose_object_info Stefan Beller
2018-02-22 6:53 ` Jonathan Nieder
2018-02-21 1:54 ` [PATCH 22/27] sha1_file: allow sha1_file_name to handle arbitrary repositories Stefan Beller
2018-02-22 0:44 ` Jonathan Tan
2018-02-23 22:50 ` Stefan Beller
2018-02-21 1:54 ` [PATCH 23/27] sha1_file: allow stat_sha1_file " Stefan Beller
2018-02-21 1:54 ` [PATCH 24/27] sha1_file: allow open_sha1_file " Stefan Beller
2018-02-22 0:45 ` Jonathan Tan
2018-02-21 1:54 ` [PATCH 25/27] sha1_file: allow map_sha1_file_1 " Stefan Beller
2018-02-21 1:54 ` [PATCH 26/27] sha1_file: allow map_sha1_file " Stefan Beller
2018-02-22 6:54 ` Jonathan Nieder
2018-02-21 1:54 ` [PATCH 27/27] sha1_file: allow sha1_loose_object_info " Stefan Beller
2018-02-22 0:26 ` [PATCHv3 00/27] Moving global state into the repository object (part 1) Stefan Beller
2018-02-24 0:47 ` [PATCHv4 " Stefan Beller
2018-02-24 0:47 ` [PATCHv4 01/27] repository: introduce raw object store field Stefan Beller
2018-02-26 9:30 ` Duy Nguyen
2018-02-26 18:19 ` Junio C Hamano
2018-02-26 18:23 ` Brandon Williams
2018-02-26 19:28 ` Stefan Beller
2018-02-26 23:59 ` Duy Nguyen
2018-02-24 0:47 ` [PATCHv4 02/27] object-store: migrate alternates struct and functions from cache.h Stefan Beller
2018-02-24 0:47 ` [PATCHv4 03/27] object-store: move alt_odb_list and alt_odb_tail to object store Stefan Beller
2018-02-24 0:47 ` [PATCHv4 04/27] object-store: free alt_odb_list Stefan Beller
2018-02-24 0:47 ` [PATCHv4 05/27] object-store: move packed_git and packed_git_mru to object store Stefan Beller
2018-02-24 0:47 ` [PATCHv4 06/27] object-store: close all packs upon clearing the " Stefan Beller
2018-02-24 0:47 ` [PATCHv4 07/27] pack: move prepare_packed_git_run_once to " Stefan Beller
2018-02-24 0:47 ` [PATCHv4 08/27] pack: move approximate object count " Stefan Beller
2018-02-24 0:47 ` [PATCHv4 09/27] sha1_file: add raw_object_store argument to alt_odb_usable Stefan Beller
2018-02-24 0:47 ` [PATCHv4 10/27] sha1_file: add repository argument to link_alt_odb_entry Stefan Beller
2018-02-24 0:47 ` [PATCHv4 11/27] sha1_file: add repository argument to read_info_alternates Stefan Beller
2018-02-24 0:47 ` [PATCHv4 12/27] sha1_file: add repository argument to link_alt_odb_entries Stefan Beller
2018-02-24 0:47 ` [PATCHv4 13/27] sha1_file: add repository argument to prepare_alt_odb Stefan Beller
2018-02-24 0:47 ` [PATCHv4 14/27] sha1_file: allow link_alt_odb_entries to handle arbitrary repositories Stefan Beller
2018-02-24 0:47 ` [PATCHv4 15/27] sha1_file: allow prepare_alt_odb " Stefan Beller
2018-02-24 0:47 ` [PATCHv4 16/27] sha1_file: add repository argument to sha1_file_name Stefan Beller
2018-02-24 0:47 ` [PATCHv4 17/27] sha1_file: add repository argument to stat_sha1_file Stefan Beller
2018-02-24 0:47 ` [PATCHv4 18/27] sha1_file: add repository argument to open_sha1_file Stefan Beller
2018-02-24 0:47 ` [PATCHv4 19/27] sha1_file: add repository argument to map_sha1_file_1 Stefan Beller
2018-02-24 0:47 ` [PATCHv4 20/27] sha1_file: add repository argument to map_sha1_file Stefan Beller
2018-02-24 0:47 ` [PATCHv4 21/27] sha1_file: add repository argument to sha1_loose_object_info Stefan Beller
2018-02-24 0:47 ` [PATCHv4 22/27] sha1_file: allow sha1_file_name to handle arbitrary repositories Stefan Beller
2018-02-24 0:47 ` [PATCHv4 23/27] sha1_file: allow stat_sha1_file " Stefan Beller
2018-02-24 0:47 ` [PATCHv4 24/27] sha1_file: allow open_sha1_file " Stefan Beller
2018-02-24 0:47 ` [PATCHv4 25/27] sha1_file: allow map_sha1_file_1 " Stefan Beller
2018-02-24 0:47 ` [PATCHv4 26/27] sha1_file: allow map_sha1_file " Stefan Beller
2018-02-24 0:47 ` [PATCHv4 27/27] sha1_file: allow sha1_loose_object_info " Stefan Beller
2018-02-24 15:00 ` [PATCHv4 00/27] Moving global state into the repository object (part 1) Duy Nguyen
2018-02-26 20:50 ` Stefan Beller
2018-02-27 0:02 ` Duy Nguyen
2018-02-26 18:19 ` Jonathan Tan
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=20180227200959.GJ209668@google.com \
--to=bmwill@google.com \
--cc=git@vger.kernel.org \
--cc=gitster@pobox.com \
--cc=jonathantanmy@google.com \
--cc=pclouds@gmail.com \
--cc=sbeller@google.com \
--cc=sunshine@sunshineco.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).