Jeff King [off-list ref] writes:
And by the way, I am actually not sure that such a shared-object setup
is a good idea, but only that _if_ you are going to do it with
submodules, you might as well do it for all repos. In theory, it is not
that hard to have a big per-user object-only repository (either for all
repos, or for related ones). But we can do that already with "git clone
-s", and people do not generally bother, because the maintenance is very
tricky (especially dealing with reachability and pruning).
I am open to the argument that solving it in a specific case
(submodules) lets us make assumptions that simplify the problem from the
general case, but I do not offhand see how it would be any easier in
this case.
Nicely put.
Making it easier to manage such a shared object store by limiting
use cases is somewhat an intriguing idea, but those I can think of
offhand all have to involve a use case without any rewound history,
so being a submodules repository would not help.