Re: Selectively clone Git submodules -- a useful feature?

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Am 18.06.2015 um 22:55 schrieb Lars Schneider:
AFAIK Git has two ways to clone a repository with respect to submodules:

(1) Plain clone of just the repository itself:
git clone git://github.com/foo/bar.git

(2) Recursive clone of the repository including all its submodules:
git clone --recursive git://github.com/foo/bar.git

I am working on a big cross platform project and on certain platforms I don't
> need certain submodules. AFAIK there is no way to selectively clone only a
> subset of the submodules with the standard command line interface. I wonder
if something like an exclude pattern for submodules would be of general interest.
> I imagine a call like this after a plain "clone" operation:

git submodule update --init --recursive --exclude 3rdParty/Windows/*

Git already supports that use case: Just set the "submodule.<name>.update"
configuration to "none" for all submodules you aren't interested in and
"git submodule update" will always skip them.

You can also set this config option globally:

git config --global submodule.<name>.update=none

That'll set the default for all repositories of the logged in user on this
computer to not update submodule <name>.

or even:

git clone --recursive --exclude 3rdParty/Windows/* git://github.com/foo/bar.git

git clone will be influenced by the global setting. If you just want to
skip submodule <name> for a single clone you can do it like this:

  git -c submodule.<name>.update=none clone --recursive git://github.com/foo/bar.git
--
To unsubscribe from this list: send the line "unsubscribe git" in



[Index of Archives]     [Linux Kernel Development]     [Gcc Help]     [IETF Annouce]     [DCCP]     [Netdev]     [Networking]     [Security]     [V4L]     [Bugtraq]     [Yosemite]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux RAID]     [Linux SCSI]     [Fedora Users]