Re: git-submodule is missing --dissociate option
- From
Stefan Beller <sbeller@google.com>
- Date
- Apr 30, 2018, 18:19 UTC
- Message-ID
- <CAGZ79kZQ3ce8QTJy2Siiuoz=pa6qWweNc8GTpoygkvKuoFXaAA@mail.gmail.com>
- In-Reply-To
- <CAEp-SHXo2fnyUSMDqJnfOkh_R21R2FjFUtQ14u9s6-tV039tHg@mail.gmail.com>
On Mon, Apr 30, 2018 at 1:29 AM, Casey Fitzpatrick <kcghost@gmail.com> wrote:
Show 8 quoted lines
> 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).
With the advent of git-worktree, I claim that --reference without further --dissociate is dangerous, such that the combination of these two are not the best UX, you could wish for.
Show 11 quoted lines
> 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.
That is an interesting workaround! I agree we should have the --dissociate option available for submodules. Care to implement it?
Thanks, Stefan