From: Stefan Beller <sbeller@google.com>
To: git@vger.kernel.org
Cc: Jonathan Nieder <jrnieder@gmail.com>, Stefan Beller <sbeller@google.com>
Subject: [PATCH 042/194] object-store: move alternates API to new alternates.h
Date: Mon, 5 Feb 2018 15:55:03 -0800 [thread overview]
Message-ID: <20180205235735.216710-22-sbeller@google.com> (raw)
In-Reply-To: <20180205235735.216710-1-sbeller@google.com>
From: Jonathan Nieder <jrnieder@gmail.com>
This should make these functions easier to find and object-store.h
less overwhelming to read.
Signed-off-by: Stefan Beller <sbeller@google.com>
Signed-off-by: Jonathan Nieder <jrnieder@gmail.com>
---
alternates.h | 68 +++++++++++++++++++++++++++++++++++++++++++++
builtin/clone.c | 1 +
builtin/count-objects.c | 1 +
builtin/fsck.c | 3 +-
builtin/grep.c | 1 +
builtin/submodule--helper.c | 1 +
cache.h | 52 ----------------------------------
object-store.h | 16 +++++------
packfile.c | 3 +-
sha1_file.c | 23 +++++++--------
sha1_name.c | 3 +-
submodule.c | 1 +
t/helper/test-ref-store.c | 1 +
tmp-objdir.c | 1 +
transport.c | 1 +
15 files changed, 102 insertions(+), 74 deletions(-)
create mode 100644 alternates.h
diff --git a/alternates.h b/alternates.h
new file mode 100644
index 0000000000..df5dc67e2e
--- /dev/null
+++ b/alternates.h
@@ -0,0 +1,68 @@
+#ifndef ALTERNATES_H
+#define ALTERNATES_H
+
+#include "strbuf.h"
+#include "sha1-array.h"
+
+struct alternates {
+ struct alternate_object_database *list;
+ struct alternate_object_database **tail;
+};
+#define ALTERNATES_INIT { NULL, NULL }
+
+struct alternate_object_database {
+ struct alternate_object_database *next;
+
+ /* see alt_scratch_buf() */
+ struct strbuf scratch;
+ size_t base_len;
+
+ /*
+ * Used to store the results of readdir(3) calls when searching
+ * for unique abbreviated hashes. This cache is never
+ * invalidated, thus it's racy and not necessarily accurate.
+ * That's fine for its purpose; don't use it for tasks requiring
+ * greater accuracy!
+ */
+ char loose_objects_subdir_seen[256];
+ struct oid_array loose_objects_cache;
+
+ /*
+ * Path to the alternate object database, relative to the
+ * current working directory.
+ */
+ char path[FLEX_ARRAY];
+};
+extern void prepare_alt_odb(struct repository *r);
+extern char *compute_alternate_path(const char *path, struct strbuf *err);
+typedef int alt_odb_fn(struct alternate_object_database *, void *);
+extern int foreach_alt_odb(struct repository *r, alt_odb_fn, void*);
+
+/*
+ * Allocate a "struct alternate_object_database" but do _not_ actually
+ * add it to the list of alternates.
+ */
+struct alternate_object_database *alloc_alt_odb(const char *dir);
+
+/*
+ * Add the directory to the on-disk alternates file; the new entry will also
+ * take effect in the current process.
+ */
+extern void add_to_alternates_file(const char *dir);
+
+/*
+ * Add the directory to the in-memory list of alternates (along with any
+ * recursive alternates it points to), but do not modify the on-disk alternates
+ * file.
+ */
+extern void add_to_alternates_memory(const char *dir);
+
+/*
+ * Returns a scratch strbuf pre-filled with the alternate object directory,
+ * including a trailing slash, which can be used to access paths in the
+ * alternate. Always use this over direct access to alt->scratch, as it
+ * cleans up any previous use of the scratch buffer.
+ */
+extern struct strbuf *alt_scratch_buf(struct alternate_object_database *alt);
+
+#endif /* ALTERNATES_H */
diff --git a/builtin/clone.c b/builtin/clone.c
index 2da71db107..27463c8fc5 100644
--- a/builtin/clone.c
+++ b/builtin/clone.c
@@ -11,6 +11,7 @@
#include "builtin.h"
#include "config.h"
#include "lockfile.h"
+#include "alternates.h"
#include "parse-options.h"
#include "fetch-pack.h"
#include "refs.h"
diff --git a/builtin/count-objects.c b/builtin/count-objects.c
index e340b3e3c3..805803fedd 100644
--- a/builtin/count-objects.c
+++ b/builtin/count-objects.c
@@ -8,6 +8,7 @@
#include "config.h"
#include "dir.h"
#include "repository.h"
+#include "alternates.h"
#include "object-store.h"
#include "builtin.h"
#include "parse-options.h"
diff --git a/builtin/fsck.c b/builtin/fsck.c
index 0e78f4ba72..571aa51579 100644
--- a/builtin/fsck.c
+++ b/builtin/fsck.c
@@ -2,6 +2,7 @@
#include "cache.h"
#include "repository.h"
#include "config.h"
+#include "alternates.h"
#include "object-store.h"
#include "commit.h"
#include "tree.h"
@@ -696,7 +697,7 @@ int cmd_fsck(int argc, const char **argv, const char *prefix)
fsck_object_dir(get_object_directory());
prepare_alt_odb(the_repository);
- for (alt = the_repository->objects.alt_odb_list;
+ for (alt = the_repository->objects.alt_odb.list;
alt; alt = alt->next)
fsck_object_dir(alt->path);
diff --git a/builtin/grep.c b/builtin/grep.c
index 3ca4ac80d8..1c71dff341 100644
--- a/builtin/grep.c
+++ b/builtin/grep.c
@@ -6,6 +6,7 @@
#include "cache.h"
#include "repository.h"
#include "config.h"
+#include "alternates.h"
#include "blob.h"
#include "tree.h"
#include "commit.h"
diff --git a/builtin/submodule--helper.c b/builtin/submodule--helper.c
index 8005adbf3d..10024c2fa2 100644
--- a/builtin/submodule--helper.c
+++ b/builtin/submodule--helper.c
@@ -2,6 +2,7 @@
#include "repository.h"
#include "cache.h"
#include "config.h"
+#include "alternates.h"
#include "parse-options.h"
#include "quote.h"
#include "pathspec.h"
diff --git a/cache.h b/cache.h
index 3410a93737..b002c9a96d 100644
--- a/cache.h
+++ b/cache.h
@@ -1564,58 +1564,6 @@ extern int has_dirs_only_path(const char *name, int len, int prefix_len);
extern void schedule_dir_for_removal(const char *name, int len);
extern void remove_scheduled_dirs(void);
-struct alternate_object_database {
- struct alternate_object_database *next;
-
- /* see alt_scratch_buf() */
- struct strbuf scratch;
- size_t base_len;
-
- /*
- * Used to store the results of readdir(3) calls when searching
- * for unique abbreviated hashes. This cache is never
- * invalidated, thus it's racy and not necessarily accurate.
- * That's fine for its purpose; don't use it for tasks requiring
- * greater accuracy!
- */
- char loose_objects_subdir_seen[256];
- struct oid_array loose_objects_cache;
-
- /*
- * Path to the alternate object database, relative to the
- * current working directory.
- */
- char path[FLEX_ARRAY];
-};
-extern char *compute_alternate_path(const char *path, struct strbuf *err);
-
-/*
- * Allocate a "struct alternate_object_database" but do _not_ actually
- * add it to the list of alternates.
- */
-struct alternate_object_database *alloc_alt_odb(const char *dir);
-
-/*
- * Add the directory to the on-disk alternates file; the new entry will also
- * take effect in the current process.
- */
-extern void add_to_alternates_file(const char *dir);
-
-/*
- * Add the directory to the in-memory list of alternates (along with any
- * recursive alternates it points to), but do not modify the on-disk alternates
- * file.
- */
-extern void add_to_alternates_memory(const char *dir);
-
-/*
- * Returns a scratch strbuf pre-filled with the alternate object directory,
- * including a trailing slash, which can be used to access paths in the
- * alternate. Always use this over direct access to alt->scratch, as it
- * cleans up any previous use of the scratch buffer.
- */
-extern struct strbuf *alt_scratch_buf(struct alternate_object_database *alt);
-
struct pack_window {
struct pack_window *next;
unsigned char *base;
diff --git a/object-store.h b/object-store.h
index 298e34e978..967dd8af26 100644
--- a/object-store.h
+++ b/object-store.h
@@ -4,6 +4,7 @@
#include "cache.h"
#include "mru.h"
#include "replace-object.h"
+#include "alternates.h"
struct object_store {
struct packed_git *packed_git;
@@ -14,8 +15,11 @@ struct object_store {
*/
struct mru packed_git_mru;
- struct alternate_object_database *alt_odb_list;
- struct alternate_object_database **alt_odb_tail;
+ /*
+ * Additional object databases to fall back on when an object does not
+ * exist in the current one (see --reference in git-clone(1)).
+ */
+ struct alternates alt_odb;
/*
* Objects that should be substituted by other objects
@@ -37,7 +41,8 @@ struct object_store {
*/
unsigned packed_git_initialized : 1;
};
-#define OBJECT_STORE_INIT { NULL, MRU_INIT, NULL, NULL, REPLACE_OBJECTS_INIT, 0, 0, 0 }
+#define OBJECT_STORE_INIT \
+ { NULL, MRU_INIT, ALTERNATES_INIT, REPLACE_OBJECTS_INIT, 0, 0, 0 }
struct packed_git {
struct packed_git *next;
@@ -70,9 +75,4 @@ struct packed_git {
extern const char *sha1_file_name(struct repository *r, const unsigned char *sha1);
extern void *map_sha1_file(struct repository *r, const unsigned char *sha1, unsigned long *size);
-extern void prepare_alt_odb(struct repository *r);
-
-typedef int alt_odb_fn(struct alternate_object_database *, void *);
-extern int foreach_alt_odb(struct repository *r, alt_odb_fn, void*);
-
#endif /* OBJECT_STORE_H */
diff --git a/packfile.c b/packfile.c
index 0ca13a4ed7..a7504debe5 100644
--- a/packfile.c
+++ b/packfile.c
@@ -2,6 +2,7 @@
#include "mru.h"
#include "pack.h"
#include "repository.h"
+#include "alternates.h"
#include "dir.h"
#include "mergesort.h"
#include "packfile.h"
@@ -880,7 +881,7 @@ void prepare_packed_git(struct repository *r)
return;
prepare_packed_git_one(r, r->objectdir, 1);
prepare_alt_odb(r);
- for (alt = r->objects.alt_odb_list; alt; alt = alt->next)
+ for (alt = r->objects.alt_odb.list; alt; alt = alt->next)
prepare_packed_git_one(r, alt->path, 0);
rearrange_packed_git(r);
prepare_packed_git_mru(r);
diff --git a/sha1_file.c b/sha1_file.c
index a5dcb76d96..84501d66e9 100644
--- a/sha1_file.c
+++ b/sha1_file.c
@@ -10,6 +10,7 @@
#include "config.h"
#include "string-list.h"
#include "lockfile.h"
+#include "alternates.h"
#include "delta.h"
#include "pack.h"
#include "blob.h"
@@ -371,7 +372,7 @@ static int alt_odb_usable(struct repository *r, struct strbuf *path,
* Prevent the common mistake of listing the same
* thing twice, or object directory itself.
*/
- for (alt = r->objects.alt_odb_list; alt; alt = alt->next) {
+ for (alt = r->objects.alt_odb.list; alt; alt = alt->next) {
if (!fspathcmp(path->buf, alt->path))
return 0;
}
@@ -384,7 +385,7 @@ static int alt_odb_usable(struct repository *r, struct strbuf *path,
/*
* Prepare alternate object database registry.
*
- * The variable alt_odb_list points at the list of struct
+ * The variable objects.alt_odb.list points at the list of struct
* alternate_object_database. The elements on this list come from
* non-empty elements from colon separated ALTERNATE_DB_ENVIRONMENT
* environment variable, and $GIT_OBJECT_DIRECTORY/info/alternates,
@@ -433,8 +434,8 @@ static int link_alt_odb_entry(struct repository *r, const char *entry,
ent = alloc_alt_odb(pathbuf.buf);
/* add the alternate entry */
- *r->objects.alt_odb_tail = ent;
- r->objects.alt_odb_tail = &(ent->next);
+ *r->objects.alt_odb.tail = ent;
+ r->objects.alt_odb.tail = &(ent->next);
ent->next = NULL;
/* recursively add alternates */
@@ -571,7 +572,7 @@ void add_to_alternates_file(const char *reference)
fprintf_or_die(out, "%s\n", reference);
if (commit_lock_file(&lock))
die_errno("unable to move new alternates file into place");
- if (the_repository->objects.alt_odb_tail)
+ if (the_repository->objects.alt_odb.tail)
link_alt_odb_entries(the_repository, reference,
'\n', NULL, 0);
}
@@ -671,7 +672,7 @@ int foreach_alt_odb(struct repository *r, alt_odb_fn fn, void *cb)
int ret = 0;
prepare_alt_odb(r);
- for (ent = r->objects.alt_odb_list; ent; ent = ent->next) {
+ for (ent = r->objects.alt_odb.list; ent; ent = ent->next) {
ret = fn(ent, cb);
if (ret)
break;
@@ -681,10 +682,10 @@ int foreach_alt_odb(struct repository *r, alt_odb_fn fn, void *cb)
void prepare_alt_odb(struct repository *r)
{
- if (r->objects.alt_odb_tail)
+ if (r->objects.alt_odb.tail)
return;
- r->objects.alt_odb_tail = &r->objects.alt_odb_list;
+ r->objects.alt_odb.tail = &r->objects.alt_odb.list;
if (!r->ignore_env) {
const char *alt = getenv(ALTERNATE_DB_ENVIRONMENT);
@@ -737,7 +738,7 @@ static int check_and_freshen_nonlocal(const unsigned char *sha1, int freshen)
{
struct alternate_object_database *alt;
prepare_alt_odb(the_repository);
- for (alt = the_repository->objects.alt_odb_list; alt; alt = alt->next) {
+ for (alt = the_repository->objects.alt_odb.list; alt; alt = alt->next) {
const char *path = alt_sha1_path(alt, sha1);
if (check_and_freshen_file(path, freshen))
return 1;
@@ -893,7 +894,7 @@ static int stat_sha1_file(struct repository *r, const unsigned char *sha1,
prepare_alt_odb(r);
errno = ENOENT;
- for (alt = r->objects.alt_odb_list; alt; alt = alt->next) {
+ for (alt = r->objects.alt_odb.list; alt; alt = alt->next) {
*path = alt_sha1_path(alt, sha1);
if (!lstat(*path, st))
return 0;
@@ -920,7 +921,7 @@ static int open_sha1_file(struct repository *r,
most_interesting_errno = errno;
prepare_alt_odb(r);
- for (alt = r->objects.alt_odb_list; alt; alt = alt->next) {
+ for (alt = r->objects.alt_odb.list; alt; alt = alt->next) {
*path = alt_sha1_path(alt, sha1);
fd = git_open(*path);
if (fd >= 0)
diff --git a/sha1_name.c b/sha1_name.c
index d3769713ea..363f7e1d4d 100644
--- a/sha1_name.c
+++ b/sha1_name.c
@@ -1,5 +1,6 @@
#include "cache.h"
#include "config.h"
+#include "alternates.h"
#include "tag.h"
#include "commit.h"
#include "tree.h"
@@ -106,7 +107,7 @@ static void find_short_object_filename(struct disambiguate_state *ds)
*/
fakeent = alloc_alt_odb(get_object_directory());
}
- fakeent->next = the_repository->objects.alt_odb_list;
+ fakeent->next = the_repository->objects.alt_odb.list;
for (alt = fakeent; alt && !ds->ambiguous; alt = alt->next) {
int pos;
diff --git a/submodule.c b/submodule.c
index 2967704317..f7736ec4b5 100644
--- a/submodule.c
+++ b/submodule.c
@@ -5,6 +5,7 @@
#include "config.h"
#include "submodule-config.h"
#include "submodule.h"
+#include "alternates.h"
#include "dir.h"
#include "diff.h"
#include "commit.h"
diff --git a/t/helper/test-ref-store.c b/t/helper/test-ref-store.c
index 7120634b04..4b96dfe12f 100644
--- a/t/helper/test-ref-store.c
+++ b/t/helper/test-ref-store.c
@@ -1,4 +1,5 @@
#include "cache.h"
+#include "alternates.h"
#include "refs.h"
#include "worktree.h"
diff --git a/tmp-objdir.c b/tmp-objdir.c
index b2d9280f10..bf34315adf 100644
--- a/tmp-objdir.c
+++ b/tmp-objdir.c
@@ -1,5 +1,6 @@
#include "cache.h"
#include "tmp-objdir.h"
+#include "alternates.h"
#include "dir.h"
#include "sigchain.h"
#include "string-list.h"
diff --git a/transport.c b/transport.c
index 3f97fbe7c5..00f90d7b20 100644
--- a/transport.c
+++ b/transport.c
@@ -2,6 +2,7 @@
#include "config.h"
#include "transport.h"
#include "repository.h"
+#include "alternates.h"
#include "run-command.h"
#include "pkt-line.h"
#include "fetch-pack.h"
--
2.15.1.433.g936d1b9894.dirty
next prev parent reply other threads:[~2018-02-06 0:02 UTC|newest]
Thread overview: 239+ messages / expand[flat|nested] mbox.gz Atom feed top
2018-02-05 23:51 [RFC PATCH 000/194] Moving global state into the repository object Stefan Beller
2018-02-05 23:51 ` [PATCH 001/194] repository: introduce object store field Stefan Beller
2018-02-05 23:51 ` [PATCH 002/194] object-store: move alt_odb_list and alt_odb_tail to object store Stefan Beller
2018-02-05 23:51 ` [PATCH 003/194] object-store: move packed_git and packed_git_mru " Stefan Beller
2018-02-09 22:09 ` Junio C Hamano
2018-02-12 19:00 ` Stefan Beller
2018-02-12 21:04 ` Junio C Hamano
2018-02-12 21:40 ` René Scharfe
2018-02-12 21:48 ` Junio C Hamano
2018-02-13 18:52 ` René Scharfe
2018-02-13 19:45 ` Stefan Beller
2018-02-14 1:26 ` Junio C Hamano
2018-02-12 21:40 ` René Scharfe
2018-02-05 23:51 ` [PATCH 004/194] pack: move prepare_packed_git_run_once " Stefan Beller
2018-02-05 23:51 ` [PATCH 005/194] pack: move approximate object count " Stefan Beller
2018-02-05 23:52 ` [PATCH 006/194] sha1_file: add repository argument to alt_odb_usable Stefan Beller
2018-02-05 23:52 ` [PATCH 007/194] sha1_file: add repository argument to link_alt_odb_entry Stefan Beller
2018-02-05 23:52 ` [PATCH 008/194] sha1_file: add repository argument to read_info_alternates Stefan Beller
2018-02-05 23:52 ` [PATCH 009/194] sha1_file: add repository argument to link_alt_odb_entries Stefan Beller
2018-02-05 23:52 ` [PATCH 010/194] sha1_file: add repository argument to stat_sha1_file Stefan Beller
2018-02-05 23:52 ` [PATCH 011/194] sha1_file: add repository argument to open_sha1_file Stefan Beller
2018-02-05 23:52 ` [PATCH 012/194] sha1_file: add repository argument to map_sha1_file_1 Stefan Beller
2018-02-05 23:52 ` [PATCH 013/194] sha1_file: add repository argument to sha1_loose_object_info Stefan Beller
2018-02-05 23:52 ` [PATCH 014/194] object-store: add repository argument to prepare_alt_odb Stefan Beller
2018-02-05 23:52 ` [PATCH 015/194] object-store: add repository argument to foreach_alt_odb Stefan Beller
2018-02-05 23:52 ` [PATCH 016/194] pack: add repository argument to install_packed_git Stefan Beller
2018-02-05 23:52 ` [PATCH 017/194] pack: add repository argument to prepare_packed_git_one Stefan Beller
2018-02-05 23:52 ` [PATCH 018/194] pack: add repository argument to rearrange_packed_git Stefan Beller
2018-02-05 23:52 ` [PATCH 019/194] pack: add repository argument to prepare_packed_git_mru Stefan Beller
2018-02-05 23:52 ` [PATCH 020/194] pack: add repository argument to prepare_packed_git Stefan Beller
2018-02-05 23:52 ` [PATCH 021/194] pack: add repository argument to reprepare_packed_git Stefan Beller
2018-02-05 23:54 ` Stefan Beller
2018-02-05 23:54 ` [PATCH 022/194] pack: add repository argument to sha1_file_name Stefan Beller
2018-02-05 23:54 ` [PATCH 023/194] pack: add repository argument to map_sha1_file Stefan Beller
2018-02-05 23:54 ` [PATCH 024/194] sha1_file: allow alt_odb_usable to handle arbitrary repositories Stefan Beller
2018-02-05 23:54 ` [PATCH 025/194] object-store: allow prepare_alt_odb " Stefan Beller
2018-02-06 1:19 ` brian m. carlson
2018-02-06 13:44 ` Derrick Stolee
2018-02-06 17:48 ` Stefan Beller
2018-02-08 1:47 ` brian m. carlson
2018-02-07 22:06 ` Jonathan Tan
2018-02-05 23:54 ` [PATCH 026/194] object-store: allow foreach_alt_odb " Stefan Beller
2018-02-05 23:54 ` [PATCH 027/194] pack: allow install_packed_git " Stefan Beller
2018-02-05 23:54 ` [PATCH 028/194] pack: allow rearrange_packed_git " Stefan Beller
2018-02-05 23:54 ` [PATCH 029/194] pack: allow prepare_packed_git_mru " Stefan Beller
2018-02-05 23:54 ` [PATCH 030/194] pack: allow prepare_packed_git_one " Stefan Beller
2018-02-05 23:54 ` [PATCH 031/194] pack: allow prepare_packed_git " Stefan Beller
2018-02-05 23:54 ` [PATCH 032/194] pack: allow reprepare_packed_git " Stefan Beller
2018-02-05 23:54 ` [PATCH 033/194] pack: allow sha1_file_name " Stefan Beller
2018-02-05 23:54 ` [PATCH 034/194] pack: allow stat_sha1_file " Stefan Beller
2018-02-05 23:54 ` [PATCH 035/194] pack: allow open_sha1_file " Stefan Beller
2018-02-05 23:54 ` [PATCH 036/194] pack: allow map_sha1_file_1 " Stefan Beller
2018-02-05 23:54 ` [PATCH 037/194] pack: allow map_sha1_file " Stefan Beller
2018-02-05 23:54 ` [PATCH 038/194] pack: allow sha1_loose_object_info " Stefan Beller
2018-02-07 22:33 ` Jonathan Tan
2018-02-07 23:31 ` Stefan Beller
2018-02-05 23:55 ` [PATCH 039/194] replace_object.c: rename to use dash in file name Stefan Beller
2018-02-05 23:55 ` [PATCH 040/194] replace-object: move replace_object to object store Stefan Beller
2018-02-05 23:55 ` [PATCH 041/194] sha1_file: add repository argument to sha1_object_info_extended Stefan Beller
2018-02-05 23:55 ` Stefan Beller [this message]
2018-02-06 1:44 ` [PATCH 042/194] object-store: move alternates API to new alternates.h brian m. carlson
2018-02-06 17:53 ` Stefan Beller
2018-02-09 23:12 ` Junio C Hamano
2018-02-06 4:52 ` Eric Sunshine
2018-02-06 17:52 ` Stefan Beller
2018-02-05 23:55 ` [PATCH 043/194] object-store: move loose object functions to new loose-object.h Stefan Beller
2018-02-05 23:55 ` [PATCH 044/194] pack: move struct pack_window and pack_entry to packfile.h Stefan Beller
2018-02-05 23:55 ` [PATCH 045/194] object-store: move object access functions to object-store.h Stefan Beller
2018-02-05 23:55 ` [PATCH 046/194] object-store: move replace_objects back to object-store Stefan Beller
2018-02-09 23:15 ` Junio C Hamano
2018-02-12 19:08 ` Stefan Beller
2018-02-05 23:55 ` [PATCH 047/194] object-store: move lookup_replace_object to replace-object.h Stefan Beller
2018-02-05 23:55 ` [PATCH 048/194] replace-object: add repository argument to do_lookup_replace_object Stefan Beller
2018-02-05 23:55 ` [PATCH 049/194] replace-object: move replace objects prepared flag to object store Stefan Beller
2018-02-05 23:55 ` [PATCH 050/194] replace-object: check_replace_refs is safe in multi repo environment Stefan Beller
2018-02-06 4:30 ` Eric Sunshine
2018-02-05 23:55 ` [PATCH 051/194] refs: add repository argument to for_each_replace_ref Stefan Beller
2018-02-05 23:55 ` [PATCH 052/194] refs: add repository argument to get_main_ref_store Stefan Beller
2018-02-05 23:55 ` [PATCH 053/194] replace-object: add repository argument to register_replace_object Stefan Beller
2018-02-05 23:55 ` [PATCH 054/194] replace-object: add repository argument to register_replace_ref Stefan Beller
2018-02-05 23:55 ` [PATCH 055/194] replace-object: add repository argument to replace_object_pos Stefan Beller
2018-02-05 23:55 ` [PATCH 056/194] replace-object: allow replace_object_pos to handle arbitrary repositories Stefan Beller
2018-02-05 23:55 ` [PATCH 057/194] replace-object: allow register_replace_object " Stefan Beller
2018-02-05 23:55 ` [PATCH 058/194] replace-object: add repository argument to prepare_replace_object Stefan Beller
2018-02-05 23:55 ` [PATCH 059/194] refs: store the main ref store inside the repository struct Stefan Beller
2018-02-06 4:27 ` Eric Sunshine
2018-02-06 18:01 ` Stefan Beller
2018-02-05 23:55 ` [PATCH 060/194] refs: allow for_each_replace_ref to handle arbitrary repositories Stefan Beller
2018-02-05 23:55 ` [PATCH 061/194] replace-object: allow prepare_replace_object " Stefan Beller
2018-02-05 23:55 ` [PATCH 062/194] replace_object: allow do_lookup_replace_object " Stefan Beller
2018-02-05 23:55 ` [PATCH 063/194] replace-object: add repository argument to lookup_replace_object Stefan Beller
2018-02-05 23:55 ` [PATCH 064/194] repository: allow lookup_replace_object to handle arbitrary repositories Stefan Beller
2018-02-05 23:55 ` [PATCH 065/194] object-store: add repository argument to sha1_object_info Stefan Beller
2018-02-06 1:55 ` brian m. carlson
2018-02-05 23:55 ` [PATCH 066/194] pack: add repository argument to retry_bad_packed_offset Stefan Beller
2018-02-05 23:55 ` [PATCH 067/194] pack: add repository argument to packed_to_object_type Stefan Beller
2018-02-05 23:55 ` [PATCH 068/194] pack: add repository argument to packed_object_info Stefan Beller
2018-02-05 23:55 ` [PATCH 069/194] pack: add repository argument to find_pack_entry Stefan Beller
2018-02-05 23:55 ` [PATCH 070/194] packfile: add repository argument to read_object Stefan Beller
2018-02-05 23:55 ` [PATCH 071/194] packfile: add repository argument to unpack_entry Stefan Beller
2018-02-05 23:55 ` [PATCH 072/194] packfile: add repository argument to cache_or_unpack_entry Stefan Beller
2018-02-05 23:55 ` [PATCH 073/194] pack: allow find_pack_entry to handle arbitrary repositories Stefan Beller
2018-02-05 23:55 ` [PATCH 074/194] object-store: allow sha1_object_info " Stefan Beller
2018-02-05 23:55 ` [PATCH 075/194] fetch, push: do not use submodule as alternate in has_commits check Stefan Beller
2018-02-06 4:20 ` Eric Sunshine
2018-02-06 20:33 ` Stefan Beller
2018-02-05 23:55 ` [PATCH 076/194] push: add test showing bad interaction of replace refs and submodules Stefan Beller
2018-02-06 2:20 ` brian m. carlson
2018-02-06 22:43 ` Stefan Beller
2018-02-05 23:55 ` [PATCH 077/194] replace_object: allow register_replace_ref to handle arbitrary repositories Stefan Beller
2018-02-05 23:55 ` [PATCH 078/194] cache.h: migrate the definition of object_id to object.h Stefan Beller
2018-02-05 23:55 ` [PATCH 079/194] repository: introduce object parser field Stefan Beller
2018-02-05 23:55 ` [PATCH 080/194] object: add repository argument to parse_object Stefan Beller
2018-02-05 23:55 ` [PATCH 081/194] object: add repository argument to create_object Stefan Beller
2018-02-05 23:55 ` [PATCH 082/194] object: add repository argument to lookup_object Stefan Beller
2018-02-05 23:55 ` [PATCH 083/194] object: add repository argument to grow_object_hash Stefan Beller
2018-02-05 23:55 ` [PATCH 084/194] blob: add repository argument to lookup_blob Stefan Beller
2018-02-05 23:55 ` [PATCH 085/194] tree: add repository argument to lookup_tree Stefan Beller
2018-02-05 23:55 ` [PATCH 086/194] tag: add repository argument to lookup_tag Stefan Beller
2018-02-05 23:55 ` [PATCH 087/194] tag: add repository argument to parse_tag_buffer Stefan Beller
2018-02-05 23:55 ` [PATCH 088/194] tag: add repository argument to deref_tag Stefan Beller
2018-02-05 23:55 ` [PATCH 089/194] object: add repository argument to lookup_commit_reference_gently Stefan Beller
2018-02-05 23:55 ` [PATCH 090/194] object: add repository argument to lookup_commit_reference Stefan Beller
2018-02-05 23:55 ` [PATCH 091/194] object: add repository argument to lookup_commit Stefan Beller
2018-02-05 23:55 ` [PATCH 092/194] object: move grafts to object parser Stefan Beller
2018-02-06 4:07 ` Eric Sunshine
2018-02-06 18:04 ` Stefan Beller
2018-02-05 23:55 ` [PATCH 093/194] object: add repository argument to commit_graft_pos Stefan Beller
2018-02-05 23:55 ` [PATCH 094/194] commit: add repository argument to parse_commit_buffer Stefan Beller
2018-02-05 23:55 ` [PATCH 095/194] object: add repository argument to register_commit_graft Stefan Beller
2018-02-05 23:55 ` [PATCH 096/194] object: add repository argument to read_graft_file Stefan Beller
2018-02-05 23:55 ` [PATCH 097/194] object: add repository argument to prepare_commit_graft Stefan Beller
2018-02-05 23:55 ` [PATCH 098/194] object: add repository argument to lookup_commit_graft Stefan Beller
2018-02-06 0:16 ` [PATCH 099/194] object: allow grow_object_hash to handle arbitrary repositories Stefan Beller
2018-02-06 0:16 ` [PATCH 100/194] object: allow create_object " Stefan Beller
2018-02-06 0:16 ` [PATCH 101/194] object: allow lookup_object " Stefan Beller
2018-02-06 0:16 ` [PATCH 102/194] object: add repository argument to lookup_unknown_object Stefan Beller
2018-02-06 0:16 ` [PATCH 103/194] object: allow lookup_unknown_object to handle arbitrary repositories Stefan Beller
2018-02-06 0:16 ` [PATCH 104/194] object: add repository argument to parse_object_buffer Stefan Beller
2018-02-06 0:16 ` [PATCH 105/194] repository: keep track of all open repositories Stefan Beller
2018-02-06 0:16 ` [PATCH 106/194] Rename sha1_object_info.cocci to object_store.cocci Stefan Beller
2018-02-06 0:16 ` [PATCH 107/194] alternates: add repository argument to add_to_alternates_file Stefan Beller
2018-02-06 0:16 ` [PATCH 108/194] alternates: add repository argument to add_to_alternates_memory Stefan Beller
2018-02-06 0:16 ` [PATCH 109/194] object-store: move check_sha1_signature to object-store.h Stefan Beller
2018-02-06 0:16 ` [PATCH 110/194] object-store: add repository argument to check_sha1_signature Stefan Beller
2018-02-06 0:16 ` [PATCH 111/194] object-store: add repository argument to read_object Stefan Beller
2018-02-06 0:16 ` [PATCH 112/194] object-store: add repository argument to read_sha1_file_extended Stefan Beller
2018-02-06 0:16 ` [PATCH 113/194] object-store: add repository argument to read_sha1_file Stefan Beller
2018-02-06 0:16 ` [PATCH 114/194] object: move read_object_with_reference to object.h Stefan Beller
2018-02-06 0:16 ` [PATCH 115/194] packfile: add repository argument to has_packed_and_bad Stefan Beller
2018-02-06 0:16 ` [PATCH 116/194] packfile: allow has_packed_and_bad to handle arbitrary repositories Stefan Beller
2018-02-06 0:16 ` [PATCH 117/194] streaming: add repository argument to open_istream_fn Stefan Beller
2018-02-06 0:16 ` [PATCH 119/194] streaming: add repository argument to istream_source Stefan Beller
2018-02-06 0:16 ` [PATCH 120/194] streaming: allow istream_source to handle arbitrary repositories Stefan Beller
2018-02-06 0:16 ` [PATCH 121/194] sha1_file: allow read_object " Stefan Beller
2018-02-06 0:16 ` [PATCH 122/194] object-store.h: allow read_sha1_file{_extended} " Stefan Beller
2018-02-06 0:16 ` [PATCH 123/194] streaming: allow open_istream_incore " Stefan Beller
2018-02-06 0:16 ` [PATCH 124/194] streaming: allow open_istream_pack_non_delta " Stefan Beller
2018-02-06 0:16 ` [PATCH 125/194] streaming: allow open_istream_loose " Stefan Beller
2018-02-06 0:16 ` [PATCH 126/194] streaming: allow open_istream " Stefan Beller
2018-02-06 0:16 ` [PATCH 127/194] alternates: convert add_to_alternates_memory to handle arbitrary repos Stefan Beller
2018-02-06 0:16 ` [PATCH 128/194] object: add repository argument to object_as_type Stefan Beller
2018-02-06 0:16 ` [PATCH 129/194] alloc: add repository argument to alloc_blob_node Stefan Beller
2018-02-06 0:16 ` [PATCH 130/194] alloc: add repository argument to alloc_tree_node Stefan Beller
2018-02-06 0:16 ` [PATCH 131/194] alloc: add repository argument to alloc_commit_node Stefan Beller
2018-02-06 0:16 ` [PATCH 132/194] alloc: add repository argument to alloc_tag_node Stefan Beller
2018-02-06 0:16 ` [PATCH 133/194] alloc: add repository argument to alloc_object_node Stefan Beller
2018-02-06 0:16 ` [PATCH 134/194] alloc: add repository argument to alloc_report Stefan Beller
2018-02-06 0:16 ` [PATCH 135/194] alloc: add repository argument to alloc_commit_index Stefan Beller
2018-02-06 0:16 ` [PATCH 136/194] alloc: allow arbitrary repositories for alloc functions Stefan Beller
2018-02-06 3:35 ` Eric Sunshine
2018-02-06 0:16 ` [PATCH 137/194] object: allow object_as_type to handle arbitrary repositories Stefan Beller
2018-02-06 0:16 ` [PATCH 138/194] commit: allow lookup_commit " Stefan Beller
2018-02-06 0:16 ` [PATCH 139/194] sha1_file: allow add_to_alternates_file " Stefan Beller
2018-02-06 0:16 ` [PATCH 140/194] commit: convert commit_graft_pos() " Stefan Beller
2018-02-06 0:16 ` [PATCH 141/194] commit: convert register_commit_graft " Stefan Beller
2018-02-06 0:16 ` [PATCH 142/194] commit: convert read_graft_file " Stefan Beller
2018-02-06 0:16 ` [PATCH 143/194] object: add repository argument to parse_commit_gently Stefan Beller
2018-02-06 0:16 ` [PATCH 144/194] commit: add repository argument to parse_commit Stefan Beller
2018-02-06 0:17 ` [PATCH 145/194] commit: add repository argument to set_commit_buffer Stefan Beller
2018-02-06 0:17 ` [PATCH 146/194] commit: add repository argument to get_cached_commit_buffer Stefan Beller
2018-02-06 0:17 ` [PATCH 147/194] commit: add repository argument to unuse_commit_buffer Stefan Beller
2018-02-06 0:17 ` [PATCH 148/194] commit: add repository argument to free_commit_buffer Stefan Beller
2018-02-06 0:17 ` [PATCH 149/194] commit: allow commit buffer functions to handle arbitrary repositories Stefan Beller
2018-02-06 0:17 ` [PATCH 150/194] tree: allow lookup_tree " Stefan Beller
2018-02-06 0:17 ` [PATCH 151/194] cache: convert get_graft_file " Stefan Beller
2018-02-06 0:17 ` [PATCH 152/194] shallow: add repository argument to set_alternate_shallow_file Stefan Beller
2018-02-06 0:17 ` [PATCH 153/194] shallow: add repository argument to register_shallow Stefan Beller
2018-02-06 0:17 ` [PATCH 154/194] shallow: add repository argument to check_shallow_file_for_update Stefan Beller
2018-02-06 0:17 ` [PATCH 155/194] shallow: add repository argument to is_repository_shallow Stefan Beller
2018-02-06 0:17 ` [PATCH 156/194] migrate cached path to use the_repository Stefan Beller
2018-02-06 0:17 ` [PATCH 157/194] shallow: migrate shallow information into the object parser Stefan Beller
2018-02-06 0:17 ` [PATCH 158/194] commit: allow prepare_commit_graft to handle arbitrary repositories Stefan Beller
2018-02-06 0:17 ` [PATCH 159/194] commit: allow lookup_commit_graft " Stefan Beller
2018-02-06 0:17 ` [PATCH 160/194] commit: allow arbitrary repository argument for parse_commit_buffer Stefan Beller
2018-02-06 0:17 ` [PATCH 161/194] commit: allow parse_commit_gently to handle arbitrary repository Stefan Beller
2018-02-06 0:17 ` [PATCH 162/194] commit: add repository argument to get_merge_bases_many_0 Stefan Beller
2018-02-06 0:17 ` [PATCH 163/194] commit: add repository argument to merge_bases_many Stefan Beller
2018-02-06 0:17 ` [PATCH 164/194] commit: add repository argument to paint_down_to_common Stefan Beller
2018-02-06 0:17 ` [PATCH 165/194] commit: allow parse_commit to handle arbitrary repositories Stefan Beller
2018-02-06 0:17 ` [PATCH 166/194] commit: allow paint_down_to_common " Stefan Beller
2018-02-06 0:17 ` [PATCH 167/194] commit: allow merge_bases_many " Stefan Beller
2018-02-06 0:17 ` [PATCH 168/194] commit: add repository argument to remove_redundant Stefan Beller
2018-02-06 0:17 ` [PATCH 169/194] commit: allow remove_redundant to handle arbitrary repositories Stefan Beller
2018-02-06 0:17 ` [PATCH 170/194] commit: allow get_merge_bases_many_0 " Stefan Beller
2018-02-06 0:17 ` [PATCH 171/194] commit: add repository argument to get_merge_bases Stefan Beller
2018-02-06 0:17 ` [PATCH 172/194] commit: allow get_merge_bases to handle arbitrary repositories Stefan Beller
2018-02-06 0:17 ` [PATCH 173/194] blob: allow lookup_blob " Stefan Beller
2018-02-06 0:17 ` [PATCH 174/194] tag: allow lookup_tag " Stefan Beller
2018-02-06 0:17 ` [PATCH 175/194] tag: allow parse_tag_buffer " Stefan Beller
2018-02-06 0:17 ` [PATCH 176/194] object: allow parse_object_buffer " Stefan Beller
2018-02-06 0:17 ` [PATCH 177/194] objects: allow check_sha1_signature " Stefan Beller
2018-02-06 0:17 ` [PATCH 178/194] object: allow parse_object " Stefan Beller
2018-02-06 0:17 ` [PATCH 179/194] tag: allow deref_tag " Stefan Beller
2018-02-06 0:17 ` [PATCH 180/194] commit: allow lookup_commit_reference_gently " Stefan Beller
2018-02-06 0:17 ` [PATCH 181/194] commit: allow lookup_commit_reference " Stefan Beller
2018-02-06 0:17 ` [PATCH 182/194] commit: add repository argument to get_commit_buffer Stefan Beller
2018-02-06 0:17 ` [PATCH 183/194] commit: add repository argument to logmsg_reencode Stefan Beller
2018-02-06 0:17 ` [PATCH 184/194] pretty: add repository argument to format_commit_message Stefan Beller
2018-02-06 0:17 ` [PATCH 185/194] commit: allow get_commit_buffer to handle arbitrary repositories Stefan Beller
2018-02-06 0:17 ` [PATCH 186/194] pretty: allow logmsg_reencode " Stefan Beller
2018-02-06 0:17 ` [PATCH 187/194] commit: add repository argument to in_merge_bases_many Stefan Beller
2018-02-06 0:17 ` [PATCH 188/194] commit: add repository argument to in_merge_bases Stefan Beller
2018-02-06 0:17 ` [PATCH 189/194] commit: allow in_merge_bases_many to handle arbitrary repositories Stefan Beller
2018-02-06 0:17 ` [PATCH 190/194] commit: allow in_merge_bases " Stefan Beller
2018-02-06 0:17 ` [PATCH 191/194] pretty: allow format_commit_message " Stefan Beller
2018-02-06 0:17 ` [PATCH 192/194] submodule: add repository argument to print_submodule_summary Stefan Beller
2018-02-06 0:17 ` [PATCH 193/194] submodule: Reorder open_submodule function Stefan Beller
2018-02-06 0:17 ` [PATCH 194/194] submodule: use submodule repos for object lookup Stefan Beller
2018-02-06 0:54 ` [RFC PATCH 000/194] Moving global state into the repository object Stefan Beller
2018-02-06 3:32 ` brian m. carlson
2018-02-06 20:25 ` Stefan Beller
2018-02-06 23:46 ` Stefan Beller
2018-02-07 9:54 ` Eric Sunshine
2018-02-07 11:48 ` Duy Nguyen
2018-02-07 18:06 ` Stefan Beller
2018-02-10 10:36 ` Duy Nguyen
2018-02-07 16:39 ` Jeff Hostetler
2018-02-08 15:42 ` Elijah Newren
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=20180205235735.216710-22-sbeller@google.com \
--to=sbeller@google.com \
--cc=git@vger.kernel.org \
--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.
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).