From: Guillaume Galeazzi Date: Wed, 13 May 2020 05:17:30 GMT Subject: Re: [PATCH] submodule--helper.c: add only-active to foreach Message-ID: In-Reply-To: Hi Junio > 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 Regards, GG