Stefan Beller <sbeller@xxxxxxxxxx> writes: > 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. Yeah, the only change I see matches what is in your range-diff after applying them to my tree. Will rewind 'next' by the end of the year and replace the topic. Thanks. > 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