All of lore.kernel.org
 help / color / mirror / Atom feed
From: Stefan Beller <sbeller@google.com>
To: jonathantanmy@google.com
Cc: git@vger.kernel.org, Stefan Beller <sbeller@google.com>,
	Jonathan Nieder <jrnieder@gmail.com>
Subject: [PATCH 06/19] refs: add repository argument to get_main_ref_store
Date: Fri,  6 Apr 2018 16:21:23 -0700	[thread overview]
Message-ID: <20180406232136.253950-7-sbeller@google.com> (raw)
In-Reply-To: <20180406232136.253950-1-sbeller@google.com>

Add a repository argument to allow the get_main_ref_store caller
to be more specific about which repository to handle. This is a small
mechanical change; it doesn't change the implementation to handle
repositories other than the_repository yet.

As with the previous commits, use a macro to catch callers passing a
repository other than the_repository at compile time.

Signed-off-by: Jonathan Nieder <jrnieder@gmail.com>
Signed-off-by: Stefan Beller <sbeller@google.com>

# Conflicts:
#	t/helper/test-ref-store.c
---
 builtin/pack-refs.c       |  3 +-
 refs.c                    | 67 ++++++++++++++++++++-------------------
 refs.h                    |  4 ++-
 revision.c                |  5 +--
 t/helper/test-ref-store.c |  3 +-
 5 files changed, 44 insertions(+), 38 deletions(-)

diff --git a/builtin/pack-refs.c b/builtin/pack-refs.c
index b106a392a4..f3353564f9 100644
--- a/builtin/pack-refs.c
+++ b/builtin/pack-refs.c
@@ -1,6 +1,7 @@
 #include "builtin.h"
 #include "parse-options.h"
 #include "refs.h"
+#include "repository.h"
 
 static char const * const pack_refs_usage[] = {
 	N_("git pack-refs [<options>]"),
@@ -17,5 +18,5 @@ int cmd_pack_refs(int argc, const char **argv, const char *prefix)
 	};
 	if (parse_options(argc, argv, prefix, opts, pack_refs_usage, 0))
 		usage_with_options(pack_refs_usage, opts);
-	return refs_pack_refs(get_main_ref_store(), flags);
+	return refs_pack_refs(get_main_ref_store(the_repository), flags);
 }
diff --git a/refs.c b/refs.c
index 20ba82b434..addc9d4934 100644
--- a/refs.c
+++ b/refs.c
@@ -13,6 +13,7 @@
 #include "tag.h"
 #include "submodule.h"
 #include "worktree.h"
+#include "repository.h"
 
 /*
  * List of all available backends
@@ -206,7 +207,7 @@ char *refs_resolve_refdup(struct ref_store *refs,
 char *resolve_refdup(const char *refname, int resolve_flags,
 		     struct object_id *oid, int *flags)
 {
-	return refs_resolve_refdup(get_main_ref_store(),
+	return refs_resolve_refdup(get_main_ref_store(the_repository),
 				   refname, resolve_flags,
 				   oid, flags);
 }
@@ -228,7 +229,7 @@ int refs_read_ref_full(struct ref_store *refs, const char *refname,
 
 int read_ref_full(const char *refname, int resolve_flags, struct object_id *oid, int *flags)
 {
-	return refs_read_ref_full(get_main_ref_store(), refname,
+	return refs_read_ref_full(get_main_ref_store(the_repository), refname,
 				  resolve_flags, oid, flags);
 }
 
@@ -375,7 +376,7 @@ int refs_for_each_tag_ref(struct ref_store *refs, each_ref_fn fn, void *cb_data)
 
 int for_each_tag_ref(each_ref_fn fn, void *cb_data)
 {
-	return refs_for_each_tag_ref(get_main_ref_store(), fn, cb_data);
+	return refs_for_each_tag_ref(get_main_ref_store(the_repository), fn, cb_data);
 }
 
 int refs_for_each_branch_ref(struct ref_store *refs, each_ref_fn fn, void *cb_data)
@@ -385,7 +386,7 @@ int refs_for_each_branch_ref(struct ref_store *refs, each_ref_fn fn, void *cb_da
 
 int for_each_branch_ref(each_ref_fn fn, void *cb_data)
 {
-	return refs_for_each_branch_ref(get_main_ref_store(), fn, cb_data);
+	return refs_for_each_branch_ref(get_main_ref_store(the_repository), fn, cb_data);
 }
 
 int refs_for_each_remote_ref(struct ref_store *refs, each_ref_fn fn, void *cb_data)
@@ -395,7 +396,7 @@ int refs_for_each_remote_ref(struct ref_store *refs, each_ref_fn fn, void *cb_da
 
 int for_each_remote_ref(each_ref_fn fn, void *cb_data)
 {
-	return refs_for_each_remote_ref(get_main_ref_store(), fn, cb_data);
+	return refs_for_each_remote_ref(get_main_ref_store(the_repository), fn, cb_data);
 }
 
 int head_ref_namespaced(each_ref_fn fn, void *cb_data)
@@ -730,7 +731,7 @@ int refs_delete_ref(struct ref_store *refs, const char *msg,
 	struct strbuf err = STRBUF_INIT;
 
 	if (ref_type(refname) == REF_TYPE_PSEUDOREF) {
-		assert(refs == get_main_ref_store());
+		assert(refs == get_main_ref_store(the_repository));
 		return delete_pseudoref(refname, old_oid);
 	}
 
@@ -752,7 +753,7 @@ int refs_delete_ref(struct ref_store *refs, const char *msg,
 int delete_ref(const char *msg, const char *refname,
 	       const struct object_id *old_oid, unsigned int flags)
 {
-	return refs_delete_ref(get_main_ref_store(), msg, refname,
+	return refs_delete_ref(get_main_ref_store(the_repository), msg, refname,
 			       old_oid, flags);
 }
 
@@ -928,7 +929,7 @@ struct ref_transaction *ref_store_transaction_begin(struct ref_store *refs,
 
 struct ref_transaction *ref_transaction_begin(struct strbuf *err)
 {
-	return ref_store_transaction_begin(get_main_ref_store(), err);
+	return ref_store_transaction_begin(get_main_ref_store(the_repository), err);
 }
 
 void ref_transaction_free(struct ref_transaction *transaction)
@@ -1060,7 +1061,7 @@ int refs_update_ref(struct ref_store *refs, const char *msg,
 	int ret = 0;
 
 	if (ref_type(refname) == REF_TYPE_PSEUDOREF) {
-		assert(refs == get_main_ref_store());
+		assert(refs == get_main_ref_store(the_repository));
 		ret = write_pseudoref(refname, new_oid, old_oid, &err);
 	} else {
 		t = ref_store_transaction_begin(refs, &err);
@@ -1099,7 +1100,7 @@ int update_ref(const char *msg, const char *refname,
 	       const struct object_id *old_oid,
 	       unsigned int flags, enum action_on_err onerr)
 {
-	return refs_update_ref(get_main_ref_store(), msg, refname, new_oid,
+	return refs_update_ref(get_main_ref_store(the_repository), msg, refname, new_oid,
 			       old_oid, flags, onerr);
 }
 
@@ -1320,7 +1321,7 @@ int refs_head_ref(struct ref_store *refs, each_ref_fn fn, void *cb_data)
 
 int head_ref(each_ref_fn fn, void *cb_data)
 {
-	return refs_head_ref(get_main_ref_store(), fn, cb_data);
+	return refs_head_ref(get_main_ref_store(the_repository), fn, cb_data);
 }
 
 struct ref_iterator *refs_ref_iterator_begin(
@@ -1379,7 +1380,7 @@ int refs_for_each_ref(struct ref_store *refs, each_ref_fn fn, void *cb_data)
 
 int for_each_ref(each_ref_fn fn, void *cb_data)
 {
-	return refs_for_each_ref(get_main_ref_store(), fn, cb_data);
+	return refs_for_each_ref(get_main_ref_store(the_repository), fn, cb_data);
 }
 
 int refs_for_each_ref_in(struct ref_store *refs, const char *prefix,
@@ -1390,7 +1391,7 @@ int refs_for_each_ref_in(struct ref_store *refs, const char *prefix,
 
 int for_each_ref_in(const char *prefix, each_ref_fn fn, void *cb_data)
 {
-	return refs_for_each_ref_in(get_main_ref_store(), prefix, fn, cb_data);
+	return refs_for_each_ref_in(get_main_ref_store(the_repository), prefix, fn, cb_data);
 }
 
 int for_each_fullref_in(const char *prefix, each_ref_fn fn, void *cb_data, unsigned int broken)
@@ -1399,7 +1400,7 @@ int for_each_fullref_in(const char *prefix, each_ref_fn fn, void *cb_data, unsig
 
 	if (broken)
 		flag = DO_FOR_EACH_INCLUDE_BROKEN;
-	return do_for_each_ref(get_main_ref_store(),
+	return do_for_each_ref(get_main_ref_store(the_repository),
 			       prefix, fn, 0, flag, cb_data);
 }
 
@@ -1416,7 +1417,7 @@ int refs_for_each_fullref_in(struct ref_store *refs, const char *prefix,
 
 int for_each_replace_ref(each_ref_fn fn, void *cb_data)
 {
-	return do_for_each_ref(get_main_ref_store(),
+	return do_for_each_ref(get_main_ref_store(the_repository),
 			       git_replace_ref_base, fn,
 			       strlen(git_replace_ref_base),
 			       DO_FOR_EACH_INCLUDE_BROKEN, cb_data);
@@ -1427,7 +1428,7 @@ int for_each_namespaced_ref(each_ref_fn fn, void *cb_data)
 	struct strbuf buf = STRBUF_INIT;
 	int ret;
 	strbuf_addf(&buf, "%srefs/", get_git_namespace());
-	ret = do_for_each_ref(get_main_ref_store(),
+	ret = do_for_each_ref(get_main_ref_store(the_repository),
 			      buf.buf, fn, 0, 0, cb_data);
 	strbuf_release(&buf);
 	return ret;
@@ -1441,7 +1442,7 @@ int refs_for_each_rawref(struct ref_store *refs, each_ref_fn fn, void *cb_data)
 
 int for_each_rawref(each_ref_fn fn, void *cb_data)
 {
-	return refs_for_each_rawref(get_main_ref_store(), fn, cb_data);
+	return refs_for_each_rawref(get_main_ref_store(the_repository), fn, cb_data);
 }
 
 int refs_read_raw_ref(struct ref_store *ref_store,
@@ -1547,7 +1548,7 @@ const char *refs_resolve_ref_unsafe(struct ref_store *refs,
 /* backend functions */
 int refs_init_db(struct strbuf *err)
 {
-	struct ref_store *refs = get_main_ref_store();
+	struct ref_store *refs = get_main_ref_store(the_repository);
 
 	return refs->be->init_db(refs, err);
 }
@@ -1555,7 +1556,7 @@ int refs_init_db(struct strbuf *err)
 const char *resolve_ref_unsafe(const char *refname, int resolve_flags,
 			       struct object_id *oid, int *flags)
 {
-	return refs_resolve_ref_unsafe(get_main_ref_store(), refname,
+	return refs_resolve_ref_unsafe(get_main_ref_store(the_repository), refname,
 				       resolve_flags, oid, flags);
 }
 
@@ -1651,7 +1652,7 @@ static struct ref_store *ref_store_init(const char *gitdir,
 	return refs;
 }
 
-struct ref_store *get_main_ref_store(void)
+struct ref_store *get_main_ref_store_the_repository(void)
 {
 	if (main_ref_store)
 		return main_ref_store;
@@ -1726,7 +1727,7 @@ struct ref_store *get_worktree_ref_store(const struct worktree *wt)
 	const char *id;
 
 	if (wt->is_current)
-		return get_main_ref_store();
+		return get_main_ref_store(the_repository);
 
 	id = wt->id ? wt->id : "/";
 	refs = lookup_ref_store_map(&worktree_ref_stores, id);
@@ -1782,7 +1783,7 @@ int refs_peel_ref(struct ref_store *refs, const char *refname,
 
 int peel_ref(const char *refname, struct object_id *oid)
 {
-	return refs_peel_ref(get_main_ref_store(), refname, oid);
+	return refs_peel_ref(get_main_ref_store(the_repository), refname, oid);
 }
 
 int refs_create_symref(struct ref_store *refs,
@@ -1798,7 +1799,7 @@ int refs_create_symref(struct ref_store *refs,
 int create_symref(const char *ref_target, const char *refs_heads_master,
 		  const char *logmsg)
 {
-	return refs_create_symref(get_main_ref_store(), ref_target,
+	return refs_create_symref(get_main_ref_store(the_repository), ref_target,
 				  refs_heads_master, logmsg);
 }
 
@@ -2006,7 +2007,7 @@ int refs_for_each_reflog(struct ref_store *refs, each_ref_fn fn, void *cb_data)
 
 int for_each_reflog(each_ref_fn fn, void *cb_data)
 {
-	return refs_for_each_reflog(get_main_ref_store(), fn, cb_data);
+	return refs_for_each_reflog(get_main_ref_store(the_repository), fn, cb_data);
 }
 
 int refs_for_each_reflog_ent_reverse(struct ref_store *refs,
@@ -2021,7 +2022,7 @@ int refs_for_each_reflog_ent_reverse(struct ref_store *refs,
 int for_each_reflog_ent_reverse(const char *refname, each_reflog_ent_fn fn,
 				void *cb_data)
 {
-	return refs_for_each_reflog_ent_reverse(get_main_ref_store(),
+	return refs_for_each_reflog_ent_reverse(get_main_ref_store(the_repository),
 						refname, fn, cb_data);
 }
 
@@ -2034,7 +2035,7 @@ int refs_for_each_reflog_ent(struct ref_store *refs, const char *refname,
 int for_each_reflog_ent(const char *refname, each_reflog_ent_fn fn,
 			void *cb_data)
 {
-	return refs_for_each_reflog_ent(get_main_ref_store(), refname,
+	return refs_for_each_reflog_ent(get_main_ref_store(the_repository), refname,
 					fn, cb_data);
 }
 
@@ -2045,7 +2046,7 @@ int refs_reflog_exists(struct ref_store *refs, const char *refname)
 
 int reflog_exists(const char *refname)
 {
-	return refs_reflog_exists(get_main_ref_store(), refname);
+	return refs_reflog_exists(get_main_ref_store(the_repository), refname);
 }
 
 int refs_create_reflog(struct ref_store *refs, const char *refname,
@@ -2057,7 +2058,7 @@ int refs_create_reflog(struct ref_store *refs, const char *refname,
 int safe_create_reflog(const char *refname, int force_create,
 		       struct strbuf *err)
 {
-	return refs_create_reflog(get_main_ref_store(), refname,
+	return refs_create_reflog(get_main_ref_store(the_repository), refname,
 				  force_create, err);
 }
 
@@ -2068,7 +2069,7 @@ int refs_delete_reflog(struct ref_store *refs, const char *refname)
 
 int delete_reflog(const char *refname)
 {
-	return refs_delete_reflog(get_main_ref_store(), refname);
+	return refs_delete_reflog(get_main_ref_store(the_repository), refname);
 }
 
 int refs_reflog_expire(struct ref_store *refs,
@@ -2091,7 +2092,7 @@ int reflog_expire(const char *refname, const struct object_id *oid,
 		  reflog_expiry_cleanup_fn cleanup_fn,
 		  void *policy_cb_data)
 {
-	return refs_reflog_expire(get_main_ref_store(),
+	return refs_reflog_expire(get_main_ref_store(the_repository),
 				  refname, oid, flags,
 				  prepare_fn, should_prune_fn,
 				  cleanup_fn, policy_cb_data);
@@ -2114,7 +2115,7 @@ int refs_delete_refs(struct ref_store *refs, const char *msg,
 int delete_refs(const char *msg, struct string_list *refnames,
 		unsigned int flags)
 {
-	return refs_delete_refs(get_main_ref_store(), msg, refnames, flags);
+	return refs_delete_refs(get_main_ref_store(the_repository), msg, refnames, flags);
 }
 
 int refs_rename_ref(struct ref_store *refs, const char *oldref,
@@ -2125,7 +2126,7 @@ int refs_rename_ref(struct ref_store *refs, const char *oldref,
 
 int rename_ref(const char *oldref, const char *newref, const char *logmsg)
 {
-	return refs_rename_ref(get_main_ref_store(), oldref, newref, logmsg);
+	return refs_rename_ref(get_main_ref_store(the_repository), oldref, newref, logmsg);
 }
 
 int refs_copy_existing_ref(struct ref_store *refs, const char *oldref,
@@ -2136,5 +2137,5 @@ int refs_copy_existing_ref(struct ref_store *refs, const char *oldref,
 
 int copy_existing_ref(const char *oldref, const char *newref, const char *logmsg)
 {
-	return refs_copy_existing_ref(get_main_ref_store(), oldref, newref, logmsg);
+	return refs_copy_existing_ref(get_main_ref_store(the_repository), oldref, newref, logmsg);
 }
diff --git a/refs.h b/refs.h
index 01be5ae32f..0d013377ce 100644
--- a/refs.h
+++ b/refs.h
@@ -758,7 +758,9 @@ int reflog_expire(const char *refname, const struct object_id *oid,
 
 int ref_storage_backend_exists(const char *name);
 
-struct ref_store *get_main_ref_store(void);
+#define get_main_ref_store(r) \
+	get_main_ref_store_##r()
+struct ref_store *get_main_ref_store_the_repository(void);
 /*
  * Return the ref_store instance for the specified submodule. For the
  * main repository, use submodule==NULL; such a call cannot fail. For
diff --git a/revision.c b/revision.c
index 5ce9b93baa..8fa5a3c7aa 100644
--- a/revision.c
+++ b/revision.c
@@ -6,6 +6,7 @@
 #include "diff.h"
 #include "refs.h"
 #include "revision.h"
+#include "repository.h"
 #include "graph.h"
 #include "grep.h"
 #include "reflog-walk.h"
@@ -1289,7 +1290,7 @@ void add_reflogs_to_pending(struct rev_info *revs, unsigned flags)
 
 	cb.all_revs = revs;
 	cb.all_flags = flags;
-	cb.refs = get_main_ref_store();
+	cb.refs = get_main_ref_store(the_repository);
 	for_each_reflog(handle_one_reflog, &cb);
 
 	if (!revs->single_worktree)
@@ -2182,7 +2183,7 @@ static int handle_revision_pseudo_opt(const char *submodule,
 			die("BUG: --single-worktree cannot be used together with submodule");
 		refs = get_submodule_ref_store(submodule);
 	} else
-		refs = get_main_ref_store();
+		refs = get_main_ref_store(the_repository);
 
 	/*
 	 * NOTE!
diff --git a/t/helper/test-ref-store.c b/t/helper/test-ref-store.c
index 7314b5943e..e8c328ec0e 100644
--- a/t/helper/test-ref-store.c
+++ b/t/helper/test-ref-store.c
@@ -2,6 +2,7 @@
 #include "refs.h"
 #include "worktree.h"
 #include "object-store.h"
+#include "repository.h"
 
 static const char *notnull(const char *arg, const char *name)
 {
@@ -22,7 +23,7 @@ static const char **get_store(const char **argv, struct ref_store **refs)
 	if (!argv[0]) {
 		die("ref store required");
 	} else if (!strcmp(argv[0], "main")) {
-		*refs = get_main_ref_store();
+		*refs = get_main_ref_store(the_repository);
 	} else if (skip_prefix(argv[0], "submodule:", &gitdir)) {
 		struct strbuf sb = STRBUF_INIT;
 		int ret;
-- 
2.17.0.484.g0c8726318c-goog


  parent reply	other threads:[~2018-04-06 23:23 UTC|newest]

Thread overview: 91+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2018-04-06 23:21 [RFC PATCH 00/19] object-store refactoring 3 (replace objects, main ref store) Stefan Beller
2018-04-06 23:21 ` [PATCH 01/19] replace_object.c: rename to use dash in file name Stefan Beller
2018-04-06 23:21 ` [PATCH 02/19] replace-object: move replace_object to object store Stefan Beller
2018-04-09 13:51   ` Derrick Stolee
2018-04-06 23:21 ` [PATCH 03/19] object-store: move lookup_replace_object to replace-object.h Stefan Beller
2018-04-06 23:21 ` [PATCH 04/19] replace-object: move replace objects prepared flag to object store Stefan Beller
2018-04-06 23:21 ` [PATCH 05/19] replace-object: check_replace_refs is safe in multi repo environment Stefan Beller
2018-04-06 23:21 ` Stefan Beller [this message]
2018-04-07  6:53   ` [PATCH 06/19] refs: add repository argument to get_main_ref_store Eric Sunshine
2018-04-09 18:51     ` Stefan Beller
2018-04-06 23:21 ` [PATCH 07/19] refs: add repository argument to for_each_replace_ref Stefan Beller
2018-04-06 23:21 ` [PATCH 08/19] replace-object: add repository argument to replace_object_pos Stefan Beller
2018-04-06 23:21 ` [PATCH 09/19] replace-object: add repository argument to register_replace_object Stefan Beller
2018-04-06 23:21 ` [PATCH 10/19] replace-object: add repository argument to prepare_replace_object Stefan Beller
2018-04-06 23:21 ` [PATCH 11/19] replace-object: add repository argument to do_lookup_replace_object Stefan Beller
2018-04-06 23:21 ` [PATCH 12/19] replace-object: add repository argument to lookup_replace_object Stefan Beller
2018-04-06 23:21 ` [PATCH 13/19] refs: store the main ref store inside the repository struct Stefan Beller
2018-04-07  6:54   ` Eric Sunshine
2018-04-06 23:21 ` [PATCH 14/19] refs: allow for_each_replace_ref to handle arbitrary repositories Stefan Beller
2018-04-06 23:21 ` [PATCH 15/19] replace-object: allow replace_object_pos " Stefan Beller
2018-04-06 23:21 ` [PATCH 16/19] replace-object: allow register_replace_object " Stefan Beller
2018-04-06 23:21 ` [PATCH 17/19] replace-object: allow prepare_replace_object " Stefan Beller
2018-04-06 23:21 ` [PATCH 18/19] replace-object: allow do_lookup_replace_object " Stefan Beller
2018-04-06 23:21 ` [PATCH 19/19] replace-object: allow lookup_replace_object " Stefan Beller
2018-04-07  4:58 ` [RFC PATCH 00/19] object-store refactoring 3 (replace objects, main ref store) René Scharfe
2018-04-09 17:44   ` Stefan Beller
2018-04-07  9:50 ` Duy Nguyen
2018-04-09 17:39   ` Stefan Beller
2018-04-09 13:58 ` Derrick Stolee
     [not found] ` <nycvar.QRO.7.76.6.1804091038430.55@ZVAVAG-6OXH6DA.rhebcr.pbec.zvpebfbsg.pbz>
2018-04-09 17:36   ` Stefan Beller
2018-04-09 22:45 ` [PATCHv2 00/16] " Stefan Beller
2018-04-09 22:45   ` [PATCH 01/16] replace_object: use oidmap Stefan Beller
2018-04-10  2:57     ` Junio C Hamano
2018-04-09 22:45   ` [PATCH 02/16] replace_object.c: rename to use dash in file name Stefan Beller
2018-04-10  3:00     ` Junio C Hamano
2018-04-10 17:57       ` Stefan Beller
2018-04-10 21:26       ` [PATCH 0/6] Rename files to use dashes instead of underscores Stefan Beller
2018-04-10 21:26         ` [PATCH 1/6] write_or_die.c: rename to use dashes in file name Stefan Beller
2018-04-10 21:26         ` [PATCH 2/6] unicode_width.h: rename to use dash " Stefan Beller
2018-04-10 21:26         ` [PATCH 3/6] exec_cmd: " Stefan Beller
2018-04-10 21:26         ` [PATCH 4/6] sha1_name.c: " Stefan Beller
2018-04-10 21:26         ` [PATCH 5/6] sha1_file.c: " Stefan Beller
2018-04-10 21:26         ` [PATCH 6/6] replace_object.c: " Stefan Beller
2018-04-10 21:28         ` [PATCH 0/6] Rename files to use dashes instead of underscores Stefan Beller
2018-04-10 22:39         ` Johannes Schindelin
2018-04-10 22:47           ` Stefan Beller
2018-04-11 23:13         ` brian m. carlson
2018-04-09 22:45   ` [PATCH 03/16] replace-object: move replace_map to object store Stefan Beller
2018-04-10  3:10     ` Junio C Hamano
2018-04-09 22:45   ` [PATCH 04/16] object-store: move lookup_replace_object to replace-object.h Stefan Beller
2018-04-09 22:45   ` [PATCH 05/16] replace-object: eliminate replace objects prepared flag Stefan Beller
2018-04-10  3:21     ` Junio C Hamano
2018-04-10  7:32     ` René Scharfe
2018-04-09 22:45   ` [PATCH 06/16] replace-object: check_replace_refs is safe in multi repo environment Stefan Beller
2018-04-10  3:37     ` Junio C Hamano
2018-04-09 22:45   ` [PATCH 07/16] refs: add repository argument to get_main_ref_store Stefan Beller
2018-04-10 13:36     ` Michael Haggerty
2018-04-10 18:27       ` Stefan Beller
2018-04-09 22:45   ` [PATCH 08/16] refs: add repository argument to for_each_replace_ref Stefan Beller
2018-04-09 22:45   ` [PATCH 09/16] replace-object: add repository argument to prepare_replace_object Stefan Beller
2018-04-09 22:45   ` [PATCH 10/16] replace-object: add repository argument to do_lookup_replace_object Stefan Beller
2018-04-09 22:45   ` [PATCH 11/16] replace-object: add repository argument to lookup_replace_object Stefan Beller
2018-04-09 22:45   ` [PATCH 12/16] refs: store the main ref store inside the repository struct Stefan Beller
2018-04-09 23:24     ` Brandon Williams
2018-04-09 23:29       ` Stefan Beller
2018-04-09 23:35         ` Brandon Williams
2018-04-10 14:02     ` Michael Haggerty
2018-04-10 18:38       ` Stefan Beller
2018-04-09 22:45   ` [PATCH 13/16] refs: allow for_each_replace_ref to handle arbitrary repositories Stefan Beller
2018-04-09 22:45   ` [PATCH 14/16] replace-object: allow prepare_replace_object " Stefan Beller
2018-04-09 22:45   ` [PATCH 15/16] replace-object: allow do_lookup_replace_object " Stefan Beller
2018-04-09 22:45   ` [PATCH 16/16] replace-object: allow lookup_replace_object " Stefan Beller
2018-04-09 23:25   ` [PATCHv2 00/16] object-store refactoring 3 (replace objects, main ref store) Brandon Williams
2018-04-09 23:31     ` Stefan Beller
2018-04-12  0:21   ` [PATCHv3 00/15] replace_object.c: rename to use dash in file name Stefan Beller
2018-04-12  0:21     ` [PATCH 01/15] replace_object: use oidmap Stefan Beller
2018-04-12  0:21     ` [PATCH 02/15] replace-object: move replace_map to object store Stefan Beller
2018-04-12  0:21     ` [PATCH 03/15] object-store: move lookup_replace_object to replace-object.h Stefan Beller
2018-04-12  0:21     ` [PATCH 04/15] replace-object: eliminate replace objects prepared flag Stefan Beller
2018-04-12  0:21     ` [PATCH 05/15] replace-object: check_replace_refs is safe in multi repo environment Stefan Beller
2018-04-12  0:21     ` [PATCH 06/15] refs: add repository argument to get_main_ref_store Stefan Beller
2018-04-12  0:21     ` [PATCH 07/15] refs: add repository argument to for_each_replace_ref Stefan Beller
2018-04-12  0:21     ` [PATCH 08/15] replace-object: add repository argument to prepare_replace_object Stefan Beller
2018-04-12  0:21     ` [PATCH 09/15] replace-object: add repository argument to do_lookup_replace_object Stefan Beller
2018-04-12  0:21     ` [PATCH 10/15] replace-object: add repository argument to lookup_replace_object Stefan Beller
2018-04-12  0:21     ` [PATCH 11/15] refs: store the main ref store inside the repository struct Stefan Beller
2018-04-12  0:21     ` [PATCH 12/15] refs: allow for_each_replace_ref to handle arbitrary repositories Stefan Beller
2018-04-12  0:21     ` [PATCH 13/15] replace-object: allow prepare_replace_object " Stefan Beller
2018-04-12  0:21     ` [PATCH 14/15] replace-object: allow do_lookup_replace_object " Stefan Beller
2018-04-12  0:21     ` [PATCH 15/15] replace-object: allow lookup_replace_object " Stefan Beller
2018-04-12 11:43     ` [PATCHv3 00/15] replace_object.c: rename to use dash in file name Derrick Stolee

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=20180406232136.253950-7-sbeller@google.com \
    --to=sbeller@google.com \
    --cc=git@vger.kernel.org \
    --cc=jonathantanmy@google.com \
    --cc=jrnieder@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.