Re: [PATCH] pull: respect submodule update configuration
From: Stefan Beller <hidden>
Date: 2017-08-21 17:48:15
On Mon, Aug 21, 2017 at 10:20 AM, Lars Schneider [off-list ref] wrote:
quoted
On 21 Aug 2017, at 18:55, Stefan Beller [off-list ref] wrote: On Mon, Aug 21, 2017 at 9:20 AM, Heiko Voigt [off-list ref] wrote:quoted
quoted
So I am a bit curious to learn which part of this change you dislike and why.I am also curious. Isn't this the same strategy we are using in other places?I dislike it because the UX feels crude. When reading the documentation, it seems to me as if submodule.<name> can be one of the following (none, checkout, rebase, merge, !<custom-command>) This is perfect for "submodule-update", whose primary goal is to update submodules *somehow*. However other commands git rebase --recurse git merge --recurse git checkout --recurse have a different primary mode of operation (note how their name is one of the modes from the set above), so it may get confusing for a user. 'none' and '!<custom-command>' seem like they would be okay for any of the commands above but then: git config submodule.<name>.update "!..." git reset --hard --recurse git status # submodule is reported, because "!..." did not 'reset'. Anyway. That dislike is just a minor gut feeling about the UX/UI being horrible. I wrote the patch to keep the conversation going, and if it fixes Lars problem, let's take it for now.Well, I need just a way to disable certain Submodules completely. If you show me how "git config --local submodule.sub.active false" works then I don't need this patch. I tried to make it work here: https://public-inbox.org/git/89AB8AA3-8E19-46BA-B169-D1EA4CF4ABE7@gmail.com/
(A) you need to set expect there as well, to have sub{2,4,5} be expected
there as well.
(B) That may hint at another (UX) bug.
The test case there uses "git submodule update --init".
The init flag will set all submodules to active.
Maybe you want
git config submodule.active ":(exclude)sub0"
git config --add submodule.active ":(exclude)sub2"
git config --add submodule.active "."
# Read: anything except sub0 and sub2 are interesting
git submodule update
# no init flag, needed even for new submodules IIUC