I realized next has not been rewound, so I can resend sb/more-repo-in-api,
which I hereby do. The changes are minimal and address the only comment
by Jonathan so far.
Thanks,
Stefan
Stefan Beller (23):
sha1_file: allow read_object to read objects in arbitrary repositories
packfile: allow has_packed_and_bad to handle arbitrary repositories
object-store: allow read_object_file_extended to read from any repo
object-store: prepare read_object_file to deal with any repo
object-store: prepare has_{sha1, object}_file to handle any repo
object: parse_object to honor its repository argument
commit: allow parse_commit* to handle any repo
commit-reach.c: allow paint_down_to_common to handle any repo
commit-reach.c: allow merge_bases_many to handle any repo
commit-reach.c: allow remove_redundant to handle any repo
commit-reach.c: allow get_merge_bases_many_0 to handle any repo
commit-reach: prepare get_merge_bases to handle any repo
commit-reach: prepare in_merge_bases[_many] to handle any repo
commit: prepare get_commit_buffer to handle any repo
commit: prepare repo_unuse_commit_buffer to handle any repo
commit: prepare logmsg_reencode to handle arbitrary repositories
pretty: prepare format_commit_message to handle arbitrary repositories
submodule: use submodule repos for object lookup
submodule: don't add submodule as odb for push
commit-graph: convert remaining functions to handle any repo
commit: prepare free_commit_buffer and release_commit_memory for any
repo
path.h: make REPO_GIT_PATH_FUNC repository agnostic
t/helper/test-repository: celebrate independence from the_repository
builtin/fsck.c | 3 +-
builtin/log.c | 6 +-
builtin/rev-list.c | 3 +-
cache.h | 2 +
commit-graph.c | 40 +++--
commit-reach.c | 73 +++++----
commit-reach.h | 38 +++--
commit.c | 41 ++---
commit.h | 43 +++++-
.../coccinelle/the_repository.pending.cocci | 144 ++++++++++++++++++
object-store.h | 35 ++++-
object.c | 8 +-
packfile.c | 5 +-
packfile.h | 2 +-
path.h | 2 +-
pretty.c | 28 ++--
pretty.h | 7 +-
sha1-file.c | 34 +++--
streaming.c | 2 +-
submodule.c | 78 +++++++---
t/helper/test-repository.c | 10 ++
21 files changed, 454 insertions(+), 150 deletions(-)
create mode 100644 contrib/coccinelle/the_repository.pending.cocci
git range-diff origin/sb/more-repo-in-api... >>0000-cover-letter.patch
1: 99017ffac8 ! 1: f24b120287 submodule: use submodule repos for object lookup
@@ -40,12 +40,13 @@
- * attempt to lookup both the left and right commits and put them into the
- * left and right pointers.
+/*
-+ * Initialize 'out' based on the provided submodule path.
++ * Initialize a repository struct for a submodule based on the provided
'path'.
+ *
+ * Unlike repo_submodule_init, this tolerates submodules not present
+ * in .gitmodules. This function exists only to preserve historical
behavior,
+ *
-+ * Returns 0 on success, -1 when the submodule is not present.
++ * Returns the repository struct on success,
++ * NULL when the submodule is not present.
*/
-static void show_submodule_header(struct diff_options *o, const char
*path,
+static struct repository *open_submodule(const char *path)
@@ -59,6 +60,7 @@
+ return NULL;
+ }
+
++ /* Mark it as a submodule */
+ out->submodule_prefix = xstrdup(path);
+
+ strbuf_release(&sb);
2: 809765861c = 2: 25190d6174 submodule: don't add submodule as odb for push
3: 4a7735da72 = 3: 965421aab2 commit-graph: convert remaining functions to
handle any repo
4: aeeb1ba49e = 4: bf31f32723 commit: prepare free_commit_buffer and
release_commit_memory for any repo
5: 5ffebe9463 = 5: c4e54e6b0d path.h: make REPO_GIT_PATH_FUNC repository
agnostic
6: 9c89920c46 = 6: a7ed0c57ba t/helper/test-repository: celebrate
independence from the_repository