On Wed, Feb 15, 2017 at 4:38 PM, Stefan Beller <sbeller@xxxxxxxxxx> wrote: > +int touch_submodules_in_worktree(void) > +{ > + /* > + * Update can't be "none", "merge" or "rebase", > + * treat any value as OFF, except an explicit ON. > + */ > + return config_update_recurse_submodules == RECURSE_SUBMODULES_ON; > +} > + This function doesn't and the comment don't make sense to me. What do you mean update can't be "none", "merge", or "rebase"? I'm thinking this means that the update_recurse_submodules checks whether it's ok for doing recursive update on submodules but only when the update type is checkout? This appears to be connected directly to the previous patch that reads the config value somehow. This is pretty convoluted to me, and took me quite a while to understand. Is it possible to make this more clear in the comments or in the name?