git-submodule is missing --dissociate option
- From
Casey Fitzpatrick <kcghost@gmail.com>
- Date
- Apr 30, 2018, 08:29 UTC
- Message-ID
- <CAEp-SHXo2fnyUSMDqJnfOkh_R21R2FjFUtQ14u9s6-tV039tHg@mail.gmail.com>
This seems to be a hole in the git feature set. I believe it is fairly easily worked around, but it would be best to provide the option for ease of use (and maybe performance?).
git clone has both a --reference feature and a --dissociate option, with dissociate allowing for a reference to *only* speed up network transfers rather than have the resulting clone rely upon the reference always being there (creates an independent repo). But git submodule only allows for --reference, so there isn't a an option to make a speedy independent submodule clone in one shot: https://git-scm.com/docs/git-submodule I checked the latest online documentation (currently at 2.16.3) and the documentation in the latest sources (almost 2.18): https://github.com/git/git/blob/next/Documentation/git-submodule.txt
As far as I am aware this can be worked around with 'git repack -a' and manual removal of the objects/info/alternates file afterward. Though I don't know if this results in a less speedy clone than dissociate would.