Patrick Steinhardt <ps@xxxxxx> writes: > -update [--init] [--remote] [-N|--no-fetch] [--[no-]recommend-shallow] [-f|--force] [--checkout|--rebase|--merge] [--reference <repository>] [--depth <depth>] [--recursive] [--jobs <n>] [--[no-]single-branch] [--filter <filter-spec>] [--] [<path>...]:: > +update [--init] [--remote] [-N|--no-fetch] [--[no-]recommend-shallow] [-f|--force] [--checkout|--rebase|--merge] [--reference <repository>] [--ref-format <format>] [--depth <depth>] [--recursive] [--jobs <n>] [--[no-]single-branch] [--filter <filter-spec>] [--] [<path>...]:: > + > -- > Update the registered submodules to match what the superproject > @@ -185,6 +185,9 @@ submodule with the `--init` option. > If `--recursive` is specified, this command will recurse into the > registered submodules, and update any nested submodules within. > > +If `--ref-format <format>` is specified, the ref storage format of newly > +cloned submodules will be set accordingly. > + > If `--filter <filter-spec>` is specified, the given partial clone filter will be > applied to the submodule. See linkgit:git-rev-list[1] for details on filter > specifications. Presumably, if the named submodule has already been initialized, we are not converting its ref backend with --ref-format=<format> option when "git submodule update --ref-format=<format>" is run. Would it make sense to say it is an error to give it without "--init", I wonder. If so, we probably would need to see if other existing options like "--filter" also need a similar sanity check, if not already done. Thanks.