On Fri, Aug 5, 2016 at 12:47 PM, Junio C Hamano <gitster@xxxxxxxxx> wrote: > * You want the "clone" command above with "--recursive" to do "the > right thing". That is, the clone of the superproject borrows > from /var/cache/super.git local mirror, and the clone of xyzzy > that would be made at .git/modules/xyzzy in the superproject > would borrow from /var/cache/xyzzy.git local mirror. This is not what I intend to solve here. The solution in 6/6 solves the scenario as you outlined in [1]. > > What I am not sure about is how /var/cache/xyzzy.git should be > automatically derived from the information given from the command > line of "clone" and what the clone of the superproject contains. Generally speaking you cannot do that without assumptions. The scenario in [1] can be done without assumptions of the locations of the submodules. The only requirement for [1] is to have submodules checked out, which is a rather strong requirement, as that doesn't help you when you want to reference multiple superrpojects with incomplete submodule checkout. (Given all of them together may or may not produce the full set of references) > > IOW, both layouts are equally sensible; what layout (either one > of the above two, or something entirely different) is your "at > the same paths" assumption meant to serve well, and what is the > plan to serve other layouts? > The plan for other layouts might be git submodule update --reference-dir /var/cache/ ? -- To unsubscribe from this list: send the line "unsubscribe git" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html