On Fri, Sep 13, 2019 at 11:03:39AM -0700, Junio C Hamano wrote: > Denton Liu <liu.denton@xxxxxxxxx> writes: > > > Remove surrounding parentheses so that the "index term" syntax is not > > triggered (and because it looks nicer without them anyway ;) ). > > "Correct" always trumps "nicer", though ;-) > > The $USAGE string in the script describes the available options to > this subcommand like so: > > or: $dashless [--quiet] set-branch (--default|--branch <branch>) [--] <path> > > which is, "you can give either --default or --branch <branch>, but > not both". What the original, if there were no special meaning in > double-paren, meant to say seems to (almost) match that. > > > -set-branch ((-d|--default)|(-b|--branch <branch>)) [--] <path>:: > > I say "almost", as it gives a wrong impression that you can give > "-b" without "<branch>" X-<. > > Now what does the updated text say to us? > > > +set-branch (-d|--default)|(-b|--branch <branch>) [--] <path>:: > > I think the attempt to cram the short-form is unnecessarily > cluttering and making the result incorrect. How about doing > something like this instead? > > Documentation/git-submodule.txt | 8 +++++--- > 1 file changed, 5 insertions(+), 3 deletions(-) > > diff --git a/Documentation/git-submodule.txt b/Documentation/git-submodule.txt > index 0ed5c24dc1..816baa7dd0 100644 > --- a/Documentation/git-submodule.txt > +++ b/Documentation/git-submodule.txt > @@ -173,10 +173,12 @@ submodule with the `--init` option. > If `--recursive` is specified, this command will recurse into the > registered submodules, and update any nested submodules within. > -- > -set-branch ((-d|--default)|(-b|--branch <branch>)) [--] <path>:: > +set-branch (--default|--branch <branch>) [--] <path>:: > Sets the default remote tracking branch for the submodule. The > - `--branch` option allows the remote branch to be specified. The > - `--default` option removes the submodule.<name>.branch configuration > + `--branch` option (or its short-form, `-b <branch>`) > + allows the remote branch to be specified. The > + `--default` option (or its short-form, `-d`) > + removes the submodule.<name>.branch configuration > key, which causes the tracking branch to default to 'master'. > > summary [--cached|--files] [(-n|--summary-limit) <n>] [commit] [--] [<path>...]:: Hmm, I don't really like this since with every other subcommand, the short-forms are in the command summary so it's obvious to the reader in a quick glance which options are available. With this change, a reader would have to not only read the summary line but also scan the blurb below. In the context line above, we see `[(-n|--summary-limit) <n>]` as a possible way of notating a short and long option with argument. What do you think about the following potential output? set-branch (-d|--default)|((-b|--branch) <branch>) [--] <path>:: Of course, we reintroduce the double paren problem but I can dig into asciidoc syntax and figure out how to escape it properly.