Re: [PATCH] pull: respect submodule update configuration
- From
Stefan Beller <sbeller@google.com>
- Date
- Aug 22, 2017, 17:51 UTC
- Message-ID
- <CAGZ79kbpf-a_ZinPLuPh2Vq629=cQknuLVF-QVwOeae1ZGS2Cw@mail.gmail.com>
- In-Reply-To
- <D44F6340-9011-4D41-B103-4A61E7248806@gmail.com>
On Tue, Aug 22, 2017 at 7:50 AM, Lars Schneider <larsxschneider@gmail.com> wrote:
Show 10 quoted lines
> > OK. I change my scripts to use ".active" and it seems to work nicely. > > I noticed one oddity, though: > > If I clone a repo using `git clone --recursive <url>` then the local > Git config of the repo gets the following entry: > > [submodule] > active = .
bb62e0a99f (clone: teach --recurse-submodules to optionally take a pathspec, 2017-03-17) makes it clear that this is intentional for --recurse-submodules, but doesn't exactly state that --recurse will behave the same. The idea here is that at clone time you can already give
git clone --recurse=:(exclude)sub0 <url> <path>
and have your desired set of submodules there. Combined with the changes in the attr system, b0db704652 (pathspec: allow querying for attributes, 2017-03-13) you could make up things like this:
$ cat .gitattributes /sub0 label0 /sub1 /sub2 label1 label2 /sub3 label1 /platform-specifc-subs/* label1 label2
and then get a clone via
git clone --recurse=:(attr:label2). <url> <path>
for example. The labeling via the attributes allows for complex patterns, but a relatively easy command line, that you can share with coworkers.
> Is this intentional? Something in the git/git test harness seems to prevent > that. I was not able to write a test to replicate the issue. > > Any idea?
I do not seem to understand the perceived bug? The setting of submodule.active=<pathspec> seems intentional to me, but how would you not reproduce it? Maybe Brandon has an idea.
Thanks, Stefan