Re: [PATCHv8 0/5] pathspec magic extension to search for attributes
- From
Junio C Hamano <gitster@pobox.com>
- Date
- May 20, 2016, 17:00 UTC
- Message-ID
- <xmqq1t4wfyv4.fsf@gitster.mtv.corp.google.com>
- In-Reply-To
- <CAGZ79kYx_pX81bmpyXCvJSVsZW=t3VpBizUPQ90Wz9=HdG42UA@mail.gmail.com>
Stefan Beller <sbeller@google.com> writes:
Show 6 quoted lines
> Right. But upon finding the new name for clone, I wondered why > this has to be submodule specific. The attr pathspecs are also working > with any other files. So if you don't use submodules, I think it would be > pretty cool to have a > > git clone --sparse-checkout=Documentation/ ...
It would be cool, but arent' "sparse" and the various existing status "submodule" has very different things?
- A submodule can be uninitialized, in which case you do get an empty directory but you do not see .git in it.
- A path can be excluded by the sparse checkout mechanism, in which case you do not get _anything_ in the filesystem.
So "git clone --sparse-exclude=Documentation/" that does not waste diskspace for Documentation/ directory may be an interesting thing to have, and "git clone --sparse-exclude=submodule-dir/" that does not even create submodule-dir/ directory may also be, but the latter is quite different from a submodule that is not initialied in a superproject that does not use any "sparse" mechanism.
Besides, I think (improved) submodule mechanism would be a good way forward for scalability, and "sparse" hack is not (primarily because it still populates the index fully with 5 million entries even when your attention is narrowed only to a handful of directories with 2000 leaf entries; this misdesign requires other ugly hacks to be piled on, like untracked cache and split index).
I do not think we want "submodule" to be tied to and dependent on the latter.