# [PATCH] Documentation/git-merge: at least one <remote> not two

3 messages from 2009-01-01 to 2009-01-02. Participants: jidanni@jidanni.org, Junio C Hamano, Sitaram Chamarty.
Thread: https://gitlist.dev/t/16951

## jidanni@jidanni.org, 2009-01-01 18:41

Subject: [PATCH] Documentation/git-merge: at least one <remote> not two
Message-ID: <87d4f6vph7.fsf@jidanni.org>
URL: https://gitlist.dev/e/87d4f6vph7.fsf%40jidanni.org

```
Make SYNOPSIS match usage message

Signed-off-by: jidanni <jidanni@jidanni.org>
---
 Documentation/git-merge.txt |    2 +-
 1 files changed, 1 insertions(+), 1 deletions(-)

diff --git a/Documentation/git-merge.txt b/Documentation/git-merge.txt
index f7be584..a3ac828 100644
--- a/Documentation/git-merge.txt
+++ b/Documentation/git-merge.txt
@@ -10,7 +10,7 @@ SYNOPSIS
 --------
 [verse]
 'git merge' [-n] [--stat] [--no-commit] [--squash] [-s <strategy>]...
-	[-m <msg>] <remote> <remote>...
+	[-m <msg>] <remote>...
 'git merge' <msg> HEAD <remote>...
 
 DESCRIPTION
-- 
1.6.0.6

```

## Junio C Hamano, 2009-01-01 21:25

Subject: Re: [PATCH] Documentation/git-merge: at least one <remote> not two
Message-ID: <7vk59ehg7l.fsf@gitster.siamese.dyndns.org>
URL: https://gitlist.dev/e/7vk59ehg7l.fsf%40gitster.siamese.dyndns.org
In-Reply-To: <87d4f6vph7.fsf@jidanni.org>

```
jidanni@jidanni.org writes:

> Make SYNOPSIS match usage message
>
> Signed-off-by: jidanni <jidanni@jidanni.org>
> ---
>  Documentation/git-merge.txt |    2 +-
>  1 files changed, 1 insertions(+), 1 deletions(-)
>
> diff --git a/Documentation/git-merge.txt b/Documentation/git-merge.txt
> index f7be584..a3ac828 100644
> --- a/Documentation/git-merge.txt
> +++ b/Documentation/git-merge.txt
> @@ -10,7 +10,7 @@ SYNOPSIS
>  --------
>  [verse]
>  'git merge' [-n] [--stat] [--no-commit] [--squash] [-s <strategy>]...
> -	[-m <msg>] <remote> <remote>...
> +	[-m <msg>] <remote>...
>  'git merge' <msg> HEAD <remote>...

The original uses ellipses for the first-class UI syntax as "zero or
more", while it means "one or more" in the description for the original
syntax, which is inconsistent, and you are matching them by making both
use "one or more" interpretation.

Two issues:

 * Are there similar breakages like this in the documentation and the
   usage text?  It would be a good idea to make the ellipses to mean the
   same thing everywhere, and a janitorial patch series that would fix
   the "ellipses" breakage (and nothing else) may be a good thing to
   have.  But before going that route...

 * Is it a good idea to standardize on "one or more" semantics?  I suspect
   we would rather want to standardize on "zero or more", because it would
   be more natural to say:

    $ git diff [--] <paths>...

   to mean "You can give paths if you want to but you do not have to".  If
   ellipses meant "one or more", you have to say this instead:

    $ git diff [--] [<paths>...]

While I prefer "zero or more" because  I think it is more logical, if the
preparatory study for the first issue reveals that we use "one or more" a
lot more often, it might be easier to standardize on that interpretation.

Oh, you also need to give ellipses to the usage string for the original
syntax in builtin-merge.c to match SYNOPSIS and usage string.

Thanks.

```

## Sitaram Chamarty, 2009-01-02 00:25

Subject: Re: [PATCH] Documentation/git-merge: at least one <remote> not two
Message-ID: <slrnglqnnu.tht.sitaramc@sitaramc.homelinux.net>
URL: https://gitlist.dev/e/slrnglqnnu.tht.sitaramc%40sitaramc.homelinux.net
In-Reply-To: <7vk59ehg7l.fsf@gitster.siamese.dyndns.org>

```
On 2009-01-01, Junio C Hamano <gitster@pobox.com> wrote:
>  * Is it a good idea to standardize on "one or more" semantics?  I suspect
>    we would rather want to standardize on "zero or more", because it would
>    be more natural to say:
>
>     $ git diff [--] <paths>...
>
>    to mean "You can give paths if you want to but you do not have to".  If
>    ellipses meant "one or more", you have to say this instead:
>
>     $ git diff [--] [<paths>...]

For what it is worth, I have always understood "..." to mean
"more of the preceding", meaning "one or more".  That is
your first example above.

Zero or more is your second syntax above, because the whole
thing is in brackets, and hence completely optional.

In regex terms (to me anyway):

a?      ==  [a]
a+      ==  a...
a*      ==  [a...]

```
