git@vger.kernel.org mailing list mirror (one of many)
 help / color / mirror / code / Atom feed
From: "Nguyễn Thái Ngọc Duy" <pclouds@gmail.com>
To: git@vger.kernel.org
Cc: "Junio C Hamano" <gitster@pobox.com>,
	"Michael Haggerty" <mhagger@alum.mit.edu>,
	"Johannes Schindelin" <Johannes.Schindelin@gmx.de>,
	"Ramsay Jones" <ramsay@ramsayjones.plus.com>,
	"Stefan Beller" <sbeller@google.com>,
	novalis@novalis.org, "Nguyễn Thái Ngọc Duy" <pclouds@gmail.com>
Subject: [PATCH v6 21/27] refs: new transaction related ref-store api
Date: Sat, 18 Mar 2017 09:03:31 +0700	[thread overview]
Message-ID: <20170318020337.22767-22-pclouds@gmail.com> (raw)
In-Reply-To: <20170318020337.22767-1-pclouds@gmail.com>

The transaction struct now takes a ref store at creation and will
operate on that ref store alone.

Signed-off-by: Nguyễn Thái Ngọc Duy <pclouds@gmail.com>
---
 refs.c               | 55 ++++++++++++++++++++++++++++++++++++++++------------
 refs.h               |  9 +++++++++
 refs/refs-internal.h |  1 +
 3 files changed, 53 insertions(+), 12 deletions(-)

diff --git a/refs.c b/refs.c
index a3fc60ef61..5ea28ae128 100644
--- a/refs.c
+++ b/refs.c
@@ -630,16 +630,20 @@ static int delete_pseudoref(const char *pseudoref, const unsigned char *old_sha1
 	return 0;
 }
 
-int delete_ref(const char *msg, const char *refname,
-	       const unsigned char *old_sha1, unsigned int flags)
+int refs_delete_ref(struct ref_store *refs, const char *msg,
+		    const char *refname,
+		    const unsigned char *old_sha1,
+		    unsigned int flags)
 {
 	struct ref_transaction *transaction;
 	struct strbuf err = STRBUF_INIT;
 
-	if (ref_type(refname) == REF_TYPE_PSEUDOREF)
+	if (ref_type(refname) == REF_TYPE_PSEUDOREF) {
+		assert(refs == get_main_ref_store());
 		return delete_pseudoref(refname, old_sha1);
+	}
 
-	transaction = ref_transaction_begin(&err);
+	transaction = ref_store_transaction_begin(refs, &err);
 	if (!transaction ||
 	    ref_transaction_delete(transaction, refname, old_sha1,
 				   flags, msg, &err) ||
@@ -654,6 +658,13 @@ int delete_ref(const char *msg, const char *refname,
 	return 0;
 }
 
+int delete_ref(const char *msg, const char *refname,
+	       const unsigned char *old_sha1, unsigned int flags)
+{
+	return refs_delete_ref(get_main_ref_store(), msg, refname,
+			       old_sha1, flags);
+}
+
 int copy_reflog_msg(char *buf, const char *msg)
 {
 	char *cp = buf;
@@ -813,11 +824,20 @@ int read_ref_at(const char *refname, unsigned int flags, unsigned long at_time,
 	return 1;
 }
 
-struct ref_transaction *ref_transaction_begin(struct strbuf *err)
+struct ref_transaction *ref_store_transaction_begin(struct ref_store *refs,
+						    struct strbuf *err)
 {
+	struct ref_transaction *tr;
 	assert(err);
 
-	return xcalloc(1, sizeof(struct ref_transaction));
+	tr = xcalloc(1, sizeof(struct ref_transaction));
+	tr->ref_store = refs;
+	return tr;
+}
+
+struct ref_transaction *ref_transaction_begin(struct strbuf *err)
+{
+	return ref_store_transaction_begin(get_main_ref_store(), err);
 }
 
 void ref_transaction_free(struct ref_transaction *transaction)
@@ -934,18 +954,20 @@ int update_ref_oid(const char *msg, const char *refname,
 		old_oid ? old_oid->hash : NULL, flags, onerr);
 }
 
-int update_ref(const char *msg, const char *refname,
-	       const unsigned char *new_sha1, const unsigned char *old_sha1,
-	       unsigned int flags, enum action_on_err onerr)
+int refs_update_ref(struct ref_store *refs, const char *msg,
+		    const char *refname, const unsigned char *new_sha1,
+		    const unsigned char *old_sha1, unsigned int flags,
+		    enum action_on_err onerr)
 {
 	struct ref_transaction *t = NULL;
 	struct strbuf err = STRBUF_INIT;
 	int ret = 0;
 
 	if (ref_type(refname) == REF_TYPE_PSEUDOREF) {
+		assert(refs == get_main_ref_store());
 		ret = write_pseudoref(refname, new_sha1, old_sha1, &err);
 	} else {
-		t = ref_transaction_begin(&err);
+		t = ref_store_transaction_begin(refs, &err);
 		if (!t ||
 		    ref_transaction_update(t, refname, new_sha1, old_sha1,
 					   flags, msg, &err) ||
@@ -976,6 +998,15 @@ int update_ref(const char *msg, const char *refname,
 	return 0;
 }
 
+int update_ref(const char *msg, const char *refname,
+	       const unsigned char *new_sha1,
+	       const unsigned char *old_sha1,
+	       unsigned int flags, enum action_on_err onerr)
+{
+	return refs_update_ref(get_main_ref_store(), msg, refname, new_sha1,
+			       old_sha1, flags, onerr);
+}
+
 char *shorten_unambiguous_ref(const char *refname, int strict)
 {
 	int i;
@@ -1610,7 +1641,7 @@ int create_symref(const char *ref_target, const char *refs_heads_master,
 int ref_transaction_commit(struct ref_transaction *transaction,
 			   struct strbuf *err)
 {
-	struct ref_store *refs = get_main_ref_store();
+	struct ref_store *refs = transaction->ref_store;
 
 	return refs->be->transaction_commit(refs, transaction, err);
 }
@@ -1729,7 +1760,7 @@ int reflog_expire(const char *refname, const unsigned char *sha1,
 int initial_ref_transaction_commit(struct ref_transaction *transaction,
 				   struct strbuf *err)
 {
-	struct ref_store *refs = get_main_ref_store();
+	struct ref_store *refs = transaction->ref_store;
 
 	return refs->be->initial_transaction_commit(refs, transaction, err);
 }
diff --git a/refs.h b/refs.h
index eaa31e8193..37f4aa8bd5 100644
--- a/refs.h
+++ b/refs.h
@@ -333,6 +333,10 @@ int reflog_exists(const char *refname);
  * exists, regardless of its old value. It is an error for old_sha1 to
  * be NULL_SHA1. flags is passed through to ref_transaction_delete().
  */
+int refs_delete_ref(struct ref_store *refs, const char *msg,
+		    const char *refname,
+		    const unsigned char *old_sha1,
+		    unsigned int flags);
 int delete_ref(const char *msg, const char *refname,
 	       const unsigned char *old_sha1, unsigned int flags);
 
@@ -418,6 +422,8 @@ enum action_on_err {
  * Begin a reference transaction.  The reference transaction must
  * be freed by calling ref_transaction_free().
  */
+struct ref_transaction *ref_store_transaction_begin(struct ref_store *refs,
+						    struct strbuf *err);
 struct ref_transaction *ref_transaction_begin(struct strbuf *err);
 
 /*
@@ -552,6 +558,9 @@ void ref_transaction_free(struct ref_transaction *transaction);
  * ref_transaction_update(). Handle errors as requested by the `onerr`
  * argument.
  */
+int refs_update_ref(struct ref_store *refs, const char *msg, const char *refname,
+		    const unsigned char *new_sha1, const unsigned char *old_sha1,
+		    unsigned int flags, enum action_on_err onerr);
 int update_ref(const char *msg, const char *refname,
 	       const unsigned char *new_sha1, const unsigned char *old_sha1,
 	       unsigned int flags, enum action_on_err onerr);
diff --git a/refs/refs-internal.h b/refs/refs-internal.h
index 5f26208c2c..690498698e 100644
--- a/refs/refs-internal.h
+++ b/refs/refs-internal.h
@@ -200,6 +200,7 @@ enum ref_transaction_state {
  * as atomically as possible.  This structure is opaque to callers.
  */
 struct ref_transaction {
+	struct ref_store *ref_store;
 	struct ref_update **updates;
 	size_t alloc;
 	size_t nr;
-- 
2.11.0.157.gd943d85


  parent reply	other threads:[~2017-03-18  2:14 UTC|newest]

Thread overview: 250+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2017-02-13 15:20 [PATCH/RFC 00/11] Remove submodule from files-backend.c Nguyễn Thái Ngọc Duy
2017-02-13 15:20 ` [PATCH 01/11] refs-internal.c: make files_log_ref_write() static Nguyễn Thái Ngọc Duy
2017-02-13 20:14   ` Ramsay Jones
2017-02-14  9:23     ` Duy Nguyen
2017-02-13 15:20 ` [PATCH 02/11] files-backend: convert git_path() to strbuf_git_path() Nguyễn Thái Ngọc Duy
2017-02-13 20:38   ` Ramsay Jones
2017-02-13 15:20 ` [PATCH 03/11] files-backend: add files_path() Nguyễn Thái Ngọc Duy
2017-02-13 20:43   ` Ramsay Jones
2017-02-13 15:20 ` [PATCH 04/11] files-backend: replace *git_path*() with files_path() Nguyễn Thái Ngọc Duy
2017-02-13 20:58   ` Ramsay Jones
2017-02-14  9:43     ` Duy Nguyen
2017-02-13 15:20 ` [PATCH 05/11] refs.c: share is_per_worktree_ref() to files-backend.c Nguyễn Thái Ngọc Duy
2017-02-13 15:20 ` [PATCH 06/11] refs-internal.h: correct is_per_worktree_ref() Nguyễn Thái Ngọc Duy
2017-02-13 22:37   ` Stefan Beller
2017-02-14  9:40     ` Duy Nguyen
2017-02-14 17:40       ` Stefan Beller
2017-02-13 15:20 ` [PATCH 07/11] files-backend: remove the use of git_path() Nguyễn Thái Ngọc Duy
2017-02-13 23:09   ` Stefan Beller
2017-02-14  9:38     ` Duy Nguyen
2017-02-13 15:20 ` [PATCH 08/11] refs.c: factor submodule code out of get_ref_store() Nguyễn Thái Ngọc Duy
2017-02-13 23:13   ` Stefan Beller
2017-02-13 15:20 ` [PATCH 09/11] refs: move submodule code out of files-backend.c Nguyễn Thái Ngọc Duy
2017-02-13 23:35   ` Stefan Beller
2017-02-14  9:32     ` Duy Nguyen
2017-02-13 15:20 ` [PATCH 10/11] files-backend: remove submodule_allowed from files_downcast() Nguyễn Thái Ngọc Duy
2017-02-13 23:44   ` Stefan Beller
2017-02-13 15:20 ` [PATCH 11/11] refs: split and make get_*_ref_store() public API Nguyễn Thái Ngọc Duy
2017-02-13 23:55   ` Stefan Beller
2017-02-14 10:04     ` Duy Nguyen
2017-02-14 18:24       ` Junio C Hamano
2017-02-15  0:44         ` Duy Nguyen
2017-02-15  1:16           ` Junio C Hamano
2017-02-14 18:43       ` Stefan Beller
2017-02-16 11:48 ` [PATCH v2 00/16] Remove submodule from files-backend.c Nguyễn Thái Ngọc Duy
2017-02-16 11:48   ` [PATCH v2 01/16] refs-internal.c: make files_log_ref_write() static Nguyễn Thái Ngọc Duy
2017-02-16 11:48   ` [PATCH v2 02/16] files-backend: convert git_path() to strbuf_git_path() Nguyễn Thái Ngọc Duy
2017-02-16 11:48   ` [PATCH v2 03/16] files-backend: add files_path() Nguyễn Thái Ngọc Duy
2017-02-16 11:48   ` [PATCH v2 04/16] files-backend: replace *git_path*() with files_path() Nguyễn Thái Ngọc Duy
2017-02-20 11:23     ` Michael Haggerty
2017-02-20 12:25       ` Duy Nguyen
2017-02-16 11:48   ` [PATCH v2 05/16] refs.c: share is_per_worktree_ref() to files-backend.c Nguyễn Thái Ngọc Duy
2017-02-16 11:48   ` [PATCH v2 06/16] refs-internal.h: correct is_per_worktree_ref() Nguyễn Thái Ngọc Duy
2017-02-16 11:48   ` [PATCH v2 07/16] files-backend: remove the use of git_path() Nguyễn Thái Ngọc Duy
2017-02-16 11:48   ` [PATCH v2 08/16] refs.c: introduce get_main_ref_store() Nguyễn Thái Ngọc Duy
2017-02-16 11:48   ` [PATCH v2 09/16] refs: rename lookup_ref_store() to lookup_submodule_ref_store() Nguyễn Thái Ngọc Duy
2017-02-16 11:48   ` [PATCH v2 10/16] refs.c: flatten get_ref_store() a bit Nguyễn Thái Ngọc Duy
2017-02-16 11:48   ` [PATCH v2 11/16] refs.c: kill register_ref_store(), add register_submodule_ref_store() Nguyễn Thái Ngọc Duy
2017-02-16 11:48   ` [PATCH v2 12/16] refs.c: make get_main_ref_store() public and use it Nguyễn Thái Ngọc Duy
2017-02-16 11:48   ` [PATCH v2 13/16] path.c: move some code out of strbuf_git_path_submodule() Nguyễn Thái Ngọc Duy
2017-02-16 11:48   ` [PATCH v2 14/16] refs: move submodule code out of files-backend.c Nguyễn Thái Ngọc Duy
2017-02-16 11:48   ` [PATCH v2 15/16] files-backend: remove submodule_allowed from files_downcast() Nguyễn Thái Ngọc Duy
2017-02-16 11:48   ` [PATCH v2 16/16] refs: rename get_ref_store() to get_submodule_ref_store() and make it public Nguyễn Thái Ngọc Duy
2017-02-16 22:55   ` [PATCH v2 00/16] Remove submodule from files-backend.c Stefan Beller
2017-02-17 14:04   ` [PATCH v3 " Nguyễn Thái Ngọc Duy
2017-02-17 14:04     ` [PATCH v3 01/16] refs-internal.c: make files_log_ref_write() static Nguyễn Thái Ngọc Duy
2017-02-17 14:04     ` [PATCH v3 02/16] files-backend: convert git_path() to strbuf_git_path() Nguyễn Thái Ngọc Duy
2017-02-17 14:04     ` [PATCH v3 03/16] files-backend: add files_path() Nguyễn Thái Ngọc Duy
2017-02-17 18:57       ` Junio C Hamano
2017-02-17 14:04     ` [PATCH v3 04/16] files-backend: replace *git_path*() with files_path() Nguyễn Thái Ngọc Duy
2017-02-17 19:27       ` Junio C Hamano
2017-02-17 14:04     ` [PATCH v3 05/16] refs.c: share is_per_worktree_ref() to files-backend.c Nguyễn Thái Ngọc Duy
2017-02-17 14:04     ` [PATCH v3 06/16] refs-internal.h: correct is_per_worktree_ref() Nguyễn Thái Ngọc Duy
2017-02-17 14:04     ` [PATCH v3 07/16] files-backend: remove the use of git_path() Nguyễn Thái Ngọc Duy
2017-02-17 14:04     ` [PATCH v3 08/16] refs.c: introduce get_main_ref_store() Nguyễn Thái Ngọc Duy
2017-02-17 14:04     ` [PATCH v3 09/16] refs: rename lookup_ref_store() to lookup_submodule_ref_store() Nguyễn Thái Ngọc Duy
2017-02-17 14:04     ` [PATCH v3 10/16] refs.c: flatten get_ref_store() a bit Nguyễn Thái Ngọc Duy
2017-02-17 14:04     ` [PATCH v3 11/16] refs.c: kill register_ref_store(), add register_submodule_ref_store() Nguyễn Thái Ngọc Duy
2017-02-17 19:29       ` Junio C Hamano
2017-02-17 14:04     ` [PATCH v3 12/16] refs.c: make get_main_ref_store() public and use it Nguyễn Thái Ngọc Duy
2017-02-17 14:04     ` [PATCH v3 13/16] path.c: move some code out of strbuf_git_path_submodule() Nguyễn Thái Ngọc Duy
2017-02-17 14:04     ` [PATCH v3 14/16] refs: move submodule code out of files-backend.c Nguyễn Thái Ngọc Duy
2017-02-17 14:04     ` [PATCH v3 15/16] files-backend: remove submodule_allowed from files_downcast() Nguyễn Thái Ngọc Duy
2017-02-17 14:04     ` [PATCH v3 16/16] refs: rename get_ref_store() to get_submodule_ref_store() and make it public Nguyễn Thái Ngọc Duy
2017-02-18 13:32     ` [PATCH v4 00/15] Remove submodule from files-backend.c Nguyễn Thái Ngọc Duy
2017-02-18 13:32       ` [PATCH v4 01/15] refs-internal.c: make files_log_ref_write() static Nguyễn Thái Ngọc Duy
2017-02-18 13:32       ` [PATCH v4 02/15] files-backend: convert git_path() to strbuf_git_path() Nguyễn Thái Ngọc Duy
2017-02-18 13:32       ` [PATCH v4 03/15] files-backend: add files_path() Nguyễn Thái Ngọc Duy
2017-02-18 13:32       ` [PATCH v4 04/15] files-backend: replace *git_path*() with files_path() Nguyễn Thái Ngọc Duy
2017-02-18 13:32       ` [PATCH v4 05/15] refs.c: share is_per_worktree_ref() to files-backend.c Nguyễn Thái Ngọc Duy
2017-02-18 13:32       ` [PATCH v4 06/15] files-backend: remove the use of git_path() Nguyễn Thái Ngọc Duy
2017-02-20 11:34         ` Michael Haggerty
2017-02-20 12:31           ` Duy Nguyen
2017-02-18 13:32       ` [PATCH v4 07/15] refs.c: introduce get_main_ref_store() Nguyễn Thái Ngọc Duy
2017-02-18 13:32       ` [PATCH v4 08/15] refs: rename lookup_ref_store() to lookup_submodule_ref_store() Nguyễn Thái Ngọc Duy
2017-02-18 13:32       ` [PATCH v4 09/15] refs.c: flatten get_ref_store() a bit Nguyễn Thái Ngọc Duy
2017-02-18 13:32       ` [PATCH v4 10/15] refs.c: kill register_ref_store(), add register_submodule_ref_store() Nguyễn Thái Ngọc Duy
2017-02-18 13:32       ` [PATCH v4 11/15] refs.c: make get_main_ref_store() public and use it Nguyễn Thái Ngọc Duy
2017-02-20 12:37         ` Michael Haggerty
2017-02-18 13:33       ` [PATCH v4 12/15] path.c: move some code out of strbuf_git_path_submodule() Nguyễn Thái Ngọc Duy
2017-02-18 13:33       ` [PATCH v4 13/15] refs: move submodule code out of files-backend.c Nguyễn Thái Ngọc Duy
2017-02-18 13:33       ` [PATCH v4 14/15] files-backend: remove submodule_allowed from files_downcast() Nguyễn Thái Ngọc Duy
2017-02-20 12:11         ` Michael Haggerty
2017-02-20 12:21           ` Duy Nguyen
2017-02-20 12:30             ` Michael Haggerty
2017-02-20 12:33               ` Duy Nguyen
2017-02-20 12:38                 ` Michael Haggerty
2017-02-21 13:25           ` Duy Nguyen
2017-02-18 13:33       ` [PATCH v4 15/15] refs: rename get_ref_store() to get_submodule_ref_store() and make it public Nguyễn Thái Ngọc Duy
2017-02-20 12:42       ` [PATCH v4 00/15] Remove submodule from files-backend.c Michael Haggerty
2017-02-20 12:47         ` Duy Nguyen
2017-02-22 14:04       ` [PATCH v5 00/24] " Nguyễn Thái Ngọc Duy
2017-02-22 14:04         ` [PATCH v5 01/24] refs.h: add forward declaration for structs used in this file Nguyễn Thái Ngọc Duy
2017-02-22 18:18           ` Stefan Beller
2017-02-23  9:26             ` Duy Nguyen
2017-02-22 14:04         ` [PATCH v5 02/24] files-backend: make files_log_ref_write() static Nguyễn Thái Ngọc Duy
2017-02-22 14:04         ` [PATCH v5 03/24] files-backend: add and use files_packed_refs_path() Nguyễn Thái Ngọc Duy
2017-02-22 14:04         ` [PATCH v5 04/24] files-backend: convert git_path() to strbuf_git_path() Nguyễn Thái Ngọc Duy
2017-02-28 17:06           ` Michael Haggerty
2017-03-02 12:52             ` Duy Nguyen
2017-02-22 14:04         ` [PATCH v5 05/24] files-backend: move "logs/" out of TMP_RENAMED_LOG Nguyễn Thái Ngọc Duy
2017-02-28 17:19           ` Michael Haggerty
2017-03-02 13:07             ` Duy Nguyen
2017-02-22 14:04         ` [PATCH v5 06/24] files-backend: add and use files_reflog_path() Nguyễn Thái Ngọc Duy
2017-02-22 14:04         ` [PATCH v5 07/24] files-backend: add and use files_refname_path() Nguyễn Thái Ngọc Duy
2017-02-28 17:41           ` Michael Haggerty
2017-03-02 12:46             ` Duy Nguyen
2017-03-09 12:24           ` Michael Haggerty
2017-02-22 14:04         ` [PATCH v5 08/24] files-backend: remove the use of git_path() Nguyễn Thái Ngọc Duy
2017-02-28 17:50           ` Michael Haggerty
2017-03-02 12:43             ` Duy Nguyen
2017-02-22 14:04         ` [PATCH v5 09/24] refs.c: introduce get_main_ref_store() Nguyễn Thái Ngọc Duy
2017-02-28 17:51           ` Michael Haggerty
2017-03-01 12:06             ` Duy Nguyen
2017-02-22 14:04         ` [PATCH v5 10/24] refs: rename lookup_ref_store() to lookup_submodule_ref_store() Nguyễn Thái Ngọc Duy
2017-02-22 14:04         ` [PATCH v5 11/24] refs.c: flatten get_ref_store() a bit Nguyễn Thái Ngọc Duy
2017-02-22 14:04         ` [PATCH v5 12/24] refs.c: kill register_ref_store(), add register_submodule_ref_store() Nguyễn Thái Ngọc Duy
2017-02-28 18:03           ` Michael Haggerty
2017-03-01 12:00             ` Duy Nguyen
2017-03-01 12:31               ` Michael Haggerty
2017-02-22 14:04         ` [PATCH v5 13/24] refs.c: make get_main_ref_store() public and use it Nguyễn Thái Ngọc Duy
2017-02-28 18:06           ` Michael Haggerty
2017-02-22 14:04         ` [PATCH v5 14/24] path.c: move some code out of strbuf_git_path_submodule() Nguyễn Thái Ngọc Duy
2017-02-28 18:14           ` Michael Haggerty
2017-02-22 14:04         ` [PATCH v5 15/24] refs: move submodule code out of files-backend.c Nguyễn Thái Ngọc Duy
2017-03-03 14:32           ` Michael Haggerty
2017-02-22 14:04         ` [PATCH v5 16/24] files-backend: replace submodule_allowed check in files_downcast() Nguyễn Thái Ngọc Duy
2017-03-03 14:49           ` Michael Haggerty
2017-02-22 14:04         ` [PATCH v5 17/24] refs: rename get_ref_store() to get_submodule_ref_store() and make it public Nguyễn Thái Ngọc Duy
2017-02-22 14:04         ` [PATCH v5 18/24] refs: add new ref-store api Nguyễn Thái Ngọc Duy
2017-02-22 14:04         ` [PATCH v5 19/24] refs: new transaction related " Nguyễn Thái Ngọc Duy
2017-03-03 15:48           ` Michael Haggerty
2017-02-22 14:04         ` [PATCH v5 20/24] files-backend: avoid ref api targetting main ref store Nguyễn Thái Ngọc Duy
2017-03-03 16:03           ` Michael Haggerty
2017-02-22 14:04         ` [PATCH v5 21/24] refs: delete pack_refs() in favor of refs_pack_refs() Nguyễn Thái Ngọc Duy
2017-02-22 14:04         ` [PATCH v5 22/24] t/helper: add test-ref-store to test ref-store functions Nguyễn Thái Ngọc Duy
2017-02-22 14:04         ` [PATCH v5 23/24] t1405: some basic tests on main ref store Nguyễn Thái Ngọc Duy
2017-03-03 16:43           ` Michael Haggerty
2017-03-06 12:30             ` Duy Nguyen
2017-02-22 14:04         ` [PATCH v5 24/24] t1406: new tests for submodule " Nguyễn Thái Ngọc Duy
2017-02-28 17:34           ` Michael Haggerty
2017-03-01 12:34             ` Duy Nguyen
2017-03-01 15:11               ` Michael Haggerty
2017-03-02  6:13                 ` Duy Nguyen
2017-03-02  8:16                   ` Michael Haggerty
2017-03-02 12:38                     ` Duy Nguyen
2017-03-03 16:51           ` Michael Haggerty
2017-02-22 17:18         ` [PATCH v5 00/24] Remove submodule from files-backend.c Junio C Hamano
2017-02-22 21:04           ` Junio C Hamano
2017-02-28 18:20         ` Michael Haggerty
2017-02-28 20:52           ` Junio C Hamano
2017-03-03 16:54         ` Michael Haggerty
2017-03-18  2:03         ` [PATCH v6 00/27] " Nguyễn Thái Ngọc Duy
2017-03-18  2:03           ` [PATCH v6 01/27] refs.h: add forward declaration for structs used in this file Nguyễn Thái Ngọc Duy
2017-03-18  2:03           ` [PATCH v6 02/27] files-backend: make files_log_ref_write() static Nguyễn Thái Ngọc Duy
2017-03-19 19:10             ` Michael Haggerty
2017-03-19 20:35               ` Ramsay Jones
2017-03-18  2:03           ` [PATCH v6 03/27] files-backend: delete dead code in files_init_db() Nguyễn Thái Ngọc Duy
2017-03-19 19:11             ` Michael Haggerty
2017-03-18  2:03           ` [PATCH v6 04/27] files-backend: add and use files_packed_refs_path() Nguyễn Thái Ngọc Duy
2017-03-18  2:03           ` [PATCH v6 05/27] files-backend: make sure files_rename_ref() always reach the end Nguyễn Thái Ngọc Duy
2017-03-18  2:03           ` [PATCH v6 06/27] files-backend: convert git_path() to strbuf_git_path() Nguyễn Thái Ngọc Duy
2017-03-18  2:03           ` [PATCH v6 07/27] files-backend: move "logs/" out of TMP_RENAMED_LOG Nguyễn Thái Ngọc Duy
2017-03-18  2:03           ` [PATCH v6 08/27] files-backend: add and use files_reflog_path() Nguyễn Thái Ngọc Duy
2017-03-18  2:03           ` [PATCH v6 09/27] files-backend: add and use files_refname_path() Nguyễn Thái Ngọc Duy
2017-03-19 20:32             ` Michael Haggerty
2017-03-18  2:03           ` [PATCH v6 10/27] files-backend: remove the use of git_path() Nguyễn Thái Ngọc Duy
2017-03-18  2:03           ` [PATCH v6 11/27] refs.c: introduce get_main_ref_store() Nguyễn Thái Ngọc Duy
2017-03-19 20:38             ` Michael Haggerty
2017-03-18  2:03           ` [PATCH v6 12/27] refs: rename lookup_ref_store() to lookup_submodule_ref_store() Nguyễn Thái Ngọc Duy
2017-03-18  2:03           ` [PATCH v6 13/27] refs.c: flatten get_ref_store() a bit Nguyễn Thái Ngọc Duy
2017-03-18  2:03           ` [PATCH v6 14/27] refs.c: kill register_ref_store(), add register_submodule_ref_store() Nguyễn Thái Ngọc Duy
2017-03-18  2:03           ` [PATCH v6 15/27] refs.c: make get_main_ref_store() public and use it Nguyễn Thái Ngọc Duy
2017-03-18  2:03           ` [PATCH v6 16/27] path.c: move some code out of strbuf_git_path_submodule() Nguyễn Thái Ngọc Duy
2017-03-19 20:47             ` Michael Haggerty
2017-03-20 12:11               ` Duy Nguyen
2017-03-18  2:03           ` [PATCH v6 17/27] refs: move submodule code out of files-backend.c Nguyễn Thái Ngọc Duy
2017-03-19 21:05             ` Michael Haggerty
2017-03-20 12:09               ` Duy Nguyen
2017-03-20 14:29                 ` Michael Haggerty
2017-03-18  2:03           ` [PATCH v6 18/27] files-backend: replace submodule_allowed check in files_downcast() Nguyễn Thái Ngọc Duy
2017-03-19 21:18             ` Michael Haggerty
2017-03-26  2:16               ` Duy Nguyen
2017-03-29 10:55                 ` Michael Haggerty
2017-03-18  2:03           ` [PATCH v6 19/27] refs: rename get_ref_store() to get_submodule_ref_store() and make it public Nguyễn Thái Ngọc Duy
2017-03-18  2:03           ` [PATCH v6 20/27] refs: add new ref-store api Nguyễn Thái Ngọc Duy
2017-03-18  2:03           ` Nguyễn Thái Ngọc Duy [this message]
2017-03-18  2:03           ` [PATCH v6 22/27] files-backend: avoid ref api targetting main ref store Nguyễn Thái Ngọc Duy
2017-03-18  2:03           ` [PATCH v6 23/27] refs: delete pack_refs() in favor of refs_pack_refs() Nguyễn Thái Ngọc Duy
2017-03-18  2:03           ` [PATCH v6 24/27] t/helper: add test-ref-store to test ref-store functions Nguyễn Thái Ngọc Duy
2017-03-22 13:34             ` Jeff King
2017-03-22 13:37               ` Jeff King
2017-03-25 11:54                 ` Duy Nguyen
2017-03-18  2:03           ` [PATCH v6 25/27] t1405: some basic tests on main ref store Nguyễn Thái Ngọc Duy
2017-03-18  2:03           ` [PATCH v6 26/27] t1406: new tests for submodule " Nguyễn Thái Ngọc Duy
2017-03-20  5:27             ` Michael Haggerty
2017-03-20 12:05               ` Duy Nguyen
2017-03-18  2:03           ` [PATCH v6 27/27] refs.h: add a note about sorting order of for_each_ref_* Nguyễn Thái Ngọc Duy
2017-03-20  5:37           ` [PATCH v6 00/27] Remove submodule from files-backend.c Michael Haggerty
2017-03-20 15:53             ` Junio C Hamano
2017-03-26  2:42           ` [PATCH v7 00/28] " Nguyễn Thái Ngọc Duy
2017-03-26  2:42             ` [PATCH v7 01/28] refs.h: add forward declaration for structs used in this file Nguyễn Thái Ngọc Duy
2017-03-26  2:42             ` [PATCH v7 02/28] files-backend: make files_log_ref_write() static Nguyễn Thái Ngọc Duy
2017-03-26  2:42             ` [PATCH v7 03/28] files-backend.c: delete dead code in files_ref_iterator_begin() Nguyễn Thái Ngọc Duy
2017-03-26  2:42             ` [PATCH v7 04/28] files-backend: delete dead code in files_init_db() Nguyễn Thái Ngọc Duy
2017-03-26  2:42             ` [PATCH v7 05/28] files-backend: add and use files_packed_refs_path() Nguyễn Thái Ngọc Duy
2017-03-26  2:42             ` [PATCH v7 06/28] files-backend: make sure files_rename_ref() always reach the end Nguyễn Thái Ngọc Duy
2017-03-26  2:42             ` [PATCH v7 07/28] files-backend: convert git_path() to strbuf_git_path() Nguyễn Thái Ngọc Duy
2017-03-26  2:42             ` [PATCH v7 08/28] files-backend: move "logs/" out of TMP_RENAMED_LOG Nguyễn Thái Ngọc Duy
2017-03-26  2:42             ` [PATCH v7 09/28] files-backend: add and use files_reflog_path() Nguyễn Thái Ngọc Duy
2017-03-26  2:42             ` [PATCH v7 10/28] files-backend: add and use files_ref_path() Nguyễn Thái Ngọc Duy
2017-03-26  2:42             ` [PATCH v7 11/28] files-backend: remove the use of git_path() Nguyễn Thái Ngọc Duy
2017-03-26  2:42             ` [PATCH v7 12/28] refs.c: introduce get_main_ref_store() Nguyễn Thái Ngọc Duy
2017-03-26  2:42             ` [PATCH v7 13/28] refs: rename lookup_ref_store() to lookup_submodule_ref_store() Nguyễn Thái Ngọc Duy
2017-03-26  2:42             ` [PATCH v7 14/28] refs.c: flatten get_ref_store() a bit Nguyễn Thái Ngọc Duy
2017-03-26  2:42             ` [PATCH v7 15/28] refs.c: kill register_ref_store(), add register_submodule_ref_store() Nguyễn Thái Ngọc Duy
2017-03-26  2:42             ` [PATCH v7 16/28] refs.c: make get_main_ref_store() public and use it Nguyễn Thái Ngọc Duy
2017-03-26  2:42             ` [PATCH v7 17/28] path.c: move some code out of strbuf_git_path_submodule() Nguyễn Thái Ngọc Duy
2017-03-26  2:42             ` [PATCH v7 18/28] refs: move submodule code out of files-backend.c Nguyễn Thái Ngọc Duy
2017-03-26  2:42             ` [PATCH v7 19/28] files-backend: replace submodule_allowed check in files_downcast() Nguyễn Thái Ngọc Duy
2017-04-01  4:02               ` Michael Haggerty
2017-04-07 12:41                 ` Duy Nguyen
2017-04-14 10:44                   ` Junio C Hamano
2017-04-14 13:02                     ` Duy Nguyen
2017-03-26  2:42             ` [PATCH v7 20/28] refs: rename get_ref_store() to get_submodule_ref_store() and make it public Nguyễn Thái Ngọc Duy
2017-03-26  2:42             ` [PATCH v7 21/28] refs: add new ref-store api Nguyễn Thái Ngọc Duy
2017-03-26  2:42             ` [PATCH v7 22/28] refs: new transaction related " Nguyễn Thái Ngọc Duy
2017-04-01  4:54               ` Michael Haggerty
2017-04-07 12:29                 ` Duy Nguyen
2017-03-26  2:42             ` [PATCH v7 23/28] files-backend: avoid ref api targetting main ref store Nguyễn Thái Ngọc Duy
2017-04-01  5:05               ` Michael Haggerty
2017-03-26  2:42             ` [PATCH v7 24/28] refs: delete pack_refs() in favor of refs_pack_refs() Nguyễn Thái Ngọc Duy
2017-03-26  2:42             ` [PATCH v7 25/28] t/helper: add test-ref-store to test ref-store functions Nguyễn Thái Ngọc Duy
2017-03-26  2:42             ` [PATCH v7 26/28] t1405: some basic tests on main ref store Nguyễn Thái Ngọc Duy
2017-03-26  2:42             ` [PATCH v7 27/28] t1406: new tests for submodule " Nguyễn Thái Ngọc Duy
2017-03-26  2:42             ` [PATCH v7 28/28] refs.h: add a note about sorting order of for_each_ref_* Nguyễn Thái Ngọc Duy
2017-04-01  5:09             ` [PATCH v7 00/28] Remove submodule from files-backend.c Michael Haggerty
2017-04-11  8:30               ` Junio C Hamano
2017-02-17 18:35   ` [PATCH v2 00/16] " Junio C Hamano
2017-02-17 20:49     ` Junio C Hamano
2017-02-18 13:15     ` Duy Nguyen

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

  List information: http://vger.kernel.org/majordomo-info.html

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20170318020337.22767-22-pclouds@gmail.com \
    --to=pclouds@gmail.com \
    --cc=Johannes.Schindelin@gmx.de \
    --cc=git@vger.kernel.org \
    --cc=gitster@pobox.com \
    --cc=mhagger@alum.mit.edu \
    --cc=novalis@novalis.org \
    --cc=ramsay@ramsayjones.plus.com \
    --cc=sbeller@google.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.
Code repositories for project(s) associated with this public inbox

	https://80x24.org/mirrors/git.git

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 read-only IMAP folder(s) and NNTP newsgroup(s).