Skip to content

sb/more-repo-in-api

Stefan Beller git 1 version In review

Get series with b4
b4 am [email protected]

Versions newest first

  1. v1 Latest23 patches 2 repliesIn review

Patches in v1 No applies recorded yet

#Subject and filesSizeRepliesApplied
1/23sha1_file: allow read_object to read objects in arbitrary repositoriessha1-file.c+6 -40 replies
2/23packfile: allow has_packed_and_bad to handle arbitrary repositoriespackfile.c packfile.h sha1-file.c+5 -40 replies
3/23object-store: allow read_object_file_extended to read from any repoobject-store.h sha1-file.c streaming.c+10 -80 replies
4/23object-store: prepare read_object_file to deal with any repocontrib/coccinelle/the_repository.pending.cocci object-store.h+20 -20 replies
5/23object-store: prepare has_{sha1, object}_file to handle any repocontrib/coccinelle/the_repository.pending.cocci object-store.h sha1-file.c+56 -110 replies
6/23object: parse_object to honor its repository argumentobject.c+3 -30 replies
7/23commit: allow parse_commit* to handle any repocommit.c commit.h contrib/coccinelle/the_repository.pending.cocci+48 -110 replies
8/23commit-reach.c: allow paint_down_to_common to handle any repocommit-reach.c+9 -60 replies
9/23commit-reach.c: allow merge_bases_many to handle any repocommit-reach.c+7 -50 replies
10/23commit-reach.c: allow remove_redundant to handle any repocommit-reach.c+5 -50 replies
11/23commit-reach.c: allow get_merge_bases_many_0 to handle any repocommit-reach.c+7 -60 replies
12/23commit-reach: prepare get_merge_bases to handle any repocommit-reach.c commit-reach.h contrib/coccinelle/the_repository.pending.cocci+56 -200 replies
13/23commit-reach: prepare in_merge_bases[_many] to handle any repocommit-reach.c commit-reach.h contrib/coccinelle/the_repository.pending.cocci+36 -80 replies
14/23commit: prepare get_commit_buffer to handle any repocommit.c commit.h contrib/coccinelle/the_repository.pending.cocci+19 -40 replies
15/23commit: prepare repo_unuse_commit_buffer to handle any repocommit.c commit.h contrib/coccinelle/the_repository.pending.cocci+18 -30 replies
16/23commit: prepare logmsg_reencode to handle arbitrary repositoriescommit.h contrib/coccinelle/the_repository.pending.cocci pretty.c+24 -60 replies
17/23pretty: prepare format_commit_message to handle arbitrary repositoriescontrib/coccinelle/the_repository.pending.cocci pretty.c pretty.h+24 -80 replies
18/23submodule: use submodule repos for object lookupsubmodule.c+60 -150 replies
19/23submodule: don't add submodule as odb for pushsubmodule.c+0 -30 replies
20/23commit-graph: convert remaining functions to handle any repocommit-graph.c+24 -160 replies
21/23commit: prepare free_commit_buffer and release_commit_memory for any repobuiltin/fsck.c builtin/log.c builtin/rev-list.c +3 more+15 -120 replies
22/23path.h: make REPO_GIT_PATH_FUNC repository agnosticpath.h+1 -10 replies
23/23t/helper/test-repository: celebrate independence from the_repositorycache.h t/helper/test-repository.c+12 -00 replies

Reviews trailers per patch

No Reviewed-by, Acked-by or Tested-by trailers for v1 yet.

Read the v1 thread

Cover letter [PATCH 00/23] sb/more-repo-in-api

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