On Mon, Jul 18, 2016 at 6:51 PM, Duy Nguyen <pclouds@xxxxxxxxx> wrote: > On Sun, Jul 17, 2016 at 4:21 PM, brian m. carlson > <sandals@xxxxxxxxxxxxxxxxxxxx> wrote: >> I'm going to end up having to do something similar because of the issue >> of submodules. Submodules may still be SHA-1, while the main repo may >> be a newer hash. > > Or even the other way around, main repo is one with sha1 while > submodule is on sha256. I wonder if we should address this separately > (and even in parallel with sha256 support), making submodules work > with an any external VCS system (that supports some basic operations > we define). Post-shower thoughts. In a tree object, a submodule entry consists of perm (S_IFGITLINK), hash (which is the external hash) and path. We could fill the "hash" part with all zero (invalid, signature of new submodule hash format), then append "/<hashtype>:<external hash>" to the "path" part. This way we don't have to update tree object or index format. And I suspect the "path" part is available everywhere we need to handle submodules already, so extracting the external hash should be possible... -- Duy -- 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