Stefan Beller <sbeller@xxxxxxxxxx> writes: > 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. -- 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