Re: [PATCH] submodule--helper.c: add only-active to foreach
- From
- Guillaume Galeazzi <guillaume.galeazzi@gmail.com>
- Date
- May 13, 2020, 05:17 UTC
- Message-ID
- <cf25c55e-e0c8-6374-3adf-84f4314869e9@gmail.com>
- In-Reply-To
- <xmqq8shxc7ct.fsf@gitster.c.googlers.com>
Hi Junio
Show 21 quoted lines
> If iterating over only active ones is useful, surely it would also > be useful to be able to iterate over only inactive ones, right? > > So, before getting married too much to the use-case of "only active > ones" and getting our eyes clouded from seeing a larger picture, > let's see what other "traits" of submodules we can use to pick which > ones to act on. > > Are there attributes other than "is-active" that we may want to and > can check about submodules? There is is_submodule_populated() next > to is_submodule_active(), which might be a candidate. IOW, what I am > wondering is if it makes sense to extend this to > > git submodule foreach --trait=is-active ... > git submodule foreach --trait=!is-active ... > git submodule foreach --trait=is-populated ... > > to allow iterating only on submodules with/without given trait (I am > not suggesting the actual option name, but merely making sure that > 'is-active' is not anything special but one of the possibilities > that can be used to limit the iteration using the same mechanism).
The idea that other candidate are possible seem good. But then users will need combination like is-active && !is-populated. We will end up implementing a complex code to filter based on expression which is IMHO overkill.
If is-populated is needed, that could be implemented this way:
git submodule--helper --is-populated[=true|false]
this would allow combination with the is active filter and the previous example would be
git submodule--helper --is-active --is-populated=false <cmd>
Regards, GG