> > +int register_all_submodule_odb_as_alternates(void); > > Does it need to be public? Could this be a static in submodule.c > instead? Thanks for taking a look at this patch series. To answer this question: no - in this patch, I need to use it from object-file.c to actually register the submodule ODBs as alternates when we try to read an object that is not in the superproject.