Brandon Williams <bmw...@google.com> writes:

>> +    The method by which a submodule is updated by 'git submodule update',
>> +    which is the only affected command, others such as
>> +    'git checkout --recurse-submodules' are unaffected. It exists for
>> +    historical reasons, when 'git submodule' was the only command to
>> +    interact with submodules; settings like `submodule.active`
>> +    and `pull.rebase` are more specific. It is copied to the config
>> +    by `git submodule init` from the .gitmodules file.
>> +    Allowed values here are 'checkout', 'rebase', 'merge' or 'none'.
>> +    See description of 'update' command in linkgit:git-submodule[1]
>> +    for their meaning. Note that the '!command' form is intentionally
>> +    ignored here for security reasons.
>
> This probably needs to be tweaked a bit to say that the '!command' form
> is ignored by submodule init, in that it isn't copied over from the
> .gitmodules file, but if it is configured in your config it will be
> respected by 'submodule update'.

I do not think gitmodules.txt is the place to say anything more than
what Stefan's patch says above.  Perhaps config.txt should mention
that in addition to what the variable with the same in .gitmodules
can take, it is allowed to use the !command form.

IOW, in config.txt

        submodule.<name>.update::
                Specifies how 'git submodule update' should work on
                the named submodule.  In addition to the values that
                can be specified in (and copied from) `.gitmodules`
                (see linkgit:gitmodules[5]), `!command` form can
                also be used.

or something, perhaps?

Reply via email to