Subject: Re: [PATCH v3 19/36] doc txt & -h consistency: add or fix optional "--" syntax

From: Junio C Hamano <[email-masked]>
Date: Fri, 30 Sep 2022 15:09:58 -0700

Ævar Arnfjörð Bjarmason  <[email-masked]> writes:

> diff --git a/builtin/rev-list.c b/builtin/rev-list.c
> index ada68a4af5e..3cc8aad52ed 100644
> --- a/builtin/rev-list.c
> +++ b/builtin/rev-list.c
> @@ -20,7 +20,7 @@
>  #include "packfile.h"
>  
>  static const char rev_list_usage[] =
> -"git rev-list [<options>] <commit>... [-- <path>...]\n"
> +"git rev-list [<options>] <commit>... [[--] <path>...]\n"

As rev-list requires at least one commit, so <commit>... means one
or more of <commit>.  Now rev-list does not have to have pathspec,
but it is OK to have the double-dash, so

    git rev-list [<options>] <commit>... [--] [<path>...]

would be more correct, no?  <path>... may mean one or more pathspec
elements, but having it inside [] makes it zero or more.  But it is
not a crime to have "--" without any pathspec, yet [[--] <path>...]
requires one or more paths if you want to write "--".