# [PATCH] revisions.txt: correct a mistake in dotted range notations section

4 messages from 2023-04-26 to 2023-05-02. Participants: Pooyan Khanjankhani via GitGitGadget, Junio C Hamano, Chris Torek, Felipe Contreras.
Thread: https://gitlist.dev/t/59659

## Pooyan Khanjankhani via GitGitGadget, 2023-04-26 07:44

Subject: [PATCH] revisions.txt: correct a mistake in dotted range notations section
Message-ID: <pull.1485.git.git.1682495081131.gitgitgadget@gmail.com>
URL: https://gitlist.dev/e/pull.1485.git.git.1682495081131.gitgitgadget%40gmail.com

```
From: Pooyan Khanjankhani <p.khanjankhani@digikala.com>

Insert a missing 'not' word in a negative sentence.
  ... but are [not] reachable from neither A or C.

Signed-off-by: Pooyan Khanjankhani <p.khanjankhani@digikala.com>
---
    docs: Fix sentencing
    
    Just fixed a sentence in docs.

Published-As: https://github.com/gitgitgadget/git/releases/tag/pr-git-1485%2FTheKhanj%2Fdocs%2Fsentencing-v1
Fetch-It-Via: git fetch https://github.com/gitgitgadget/git pr-git-1485/TheKhanj/docs/sentencing-v1
Pull-Request: https://github.com/git/git/pull/1485

 Documentation/revisions.txt | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/Documentation/revisions.txt b/Documentation/revisions.txt
index 9aa58052bc7..00c2f030da5 100644
--- a/Documentation/revisions.txt
+++ b/Documentation/revisions.txt
@@ -306,7 +306,7 @@ other, e.g.
 
 does *not* specify two revision ranges for most commands.  Instead
 it will name a single connected set of commits, i.e. those that are
-reachable from either B or D but are reachable from neither A or C.
+reachable from either B or D but are not reachable from neither A or C.
 In a linear history like this:
 
     ---A---B---o---o---C---D

base-commit: ae73b2c8f1da39c39335ee76a0f95857712c22a7
-- 
gitgitgadget

```

## Junio C Hamano, 2023-04-26 16:46

Subject: Re: [PATCH] revisions.txt: correct a mistake in dotted range notations section
Message-ID: <xmqqo7natwvh.fsf@gitster.g>
URL: https://gitlist.dev/e/xmqqo7natwvh.fsf%40gitster.g
In-Reply-To: <pull.1485.git.git.1682495081131.gitgitgadget@gmail.com>

```
"Pooyan Khanjankhani via GitGitGadget" <gitgitgadget@gmail.com>
writes:

>      $ git log A..B C..D
>
>  does *not* specify two revision ranges for most commands.  Instead
>  it will name a single connected set of commits, i.e. those that are
> -reachable from either B or D but are reachable from neither A or C.
> +reachable from either B or D but are not reachable from neither A or C.
>  In a linear history like this:
>  
>      ---A---B---o---o---C---D
>
> because A and B are reachable from C, the revision range specified
> by these two dotted ranges is a single commit D.

Isn't that an unwanted double negative?

The first hit I got about "neither double negation" on Google search
was:

https://www.grammar-monster.com/lessons/either_or_neither_nor_double_negative.htm

but the source of this might sound more authoritative:

https://dictionary.cambridge.org/grammar/british-grammar/neither-neither-nor-and-not-either_2


```

## Chris Torek, 2023-04-26 21:16

Subject: Re: [PATCH] revisions.txt: correct a mistake in dotted range notations section
Message-ID: <CAPx1GverCci3SZQEMvFX_q7r3XSTKmPizfcj8QcvGNud7reY9g@mail.gmail.com>
URL: https://gitlist.dev/e/CAPx1GverCci3SZQEMvFX_q7r3XSTKmPizfcj8QcvGNud7reY9g%40mail.gmail.com
In-Reply-To: <pull.1485.git.git.1682495081131.gitgitgadget@gmail.com>

```
On Wed, Apr 26, 2023 at 1:00 AM Pooyan Khanjankhani via GitGitGadget
<gitgitgadget@gmail.com> wrote:
> From: Pooyan Khanjankhani <p.khanjankhani@digikala.com>
>
> Insert a missing 'not' word in a negative sentence.
>   ... but are [not] reachable from neither A or C.

There's a peculiarity of the English language here that means you
should not use the word "not". The actual error is using "or" as
the conjunction, instead of "nor": the construct should read
"neither <alternative 1> nor <alternative 2>", and it means that
both alternatives are rejected.

That said, there's almost certainly a reformulation that uses
language less-confusing to non-native speakers.  Perhaps
this is better (I haven't actually made a commit of this, it's just
a diff in place):

diff --git a/Documentation/revisions.txt b/Documentation/revisions.txt
index 9aa58052bc..5460820377 100644
--- a/Documentation/revisions.txt
+++ b/Documentation/revisions.txt
@@ -305,14 +305,14 @@ other, e.g.
     $ git log A..B C..D

 does *not* specify two revision ranges for most commands.  Instead
-it will name a single connected set of commits, i.e. those that are
-reachable from either B or D but are reachable from neither A or C.
-In a linear history like this:
+it will name a single connected set of commits: those that are
+reachable from either B or D, but not reachable from either A or C.
+For example, in a linear history like this:

     ---A---B---o---o---C---D

 because A and B are reachable from C, the revision range specified
-by these two dotted ranges is a single commit D.
+by these two dotted ranges is the single commit D.


 Other <rev>{caret} Parent Shorthand Notations


Chris

```

## Felipe Contreras, 2023-05-02 16:57

Subject: Re: [PATCH] revisions.txt: correct a mistake in dotted range notations section
Message-ID: <64514101af396_1ba2d294cd@chronos.notmuch>
URL: https://gitlist.dev/e/64514101af396_1ba2d294cd%40chronos.notmuch
In-Reply-To: <CAPx1GverCci3SZQEMvFX_q7r3XSTKmPizfcj8QcvGNud7reY9g@mail.gmail.com>

```
Chris Torek wrote:
> On Wed, Apr 26, 2023 at 1:00 AM Pooyan Khanjankhani via GitGitGadget
> <gitgitgadget@gmail.com> wrote:
> > From: Pooyan Khanjankhani <p.khanjankhani@digikala.com>
> >
> > Insert a missing 'not' word in a negative sentence.
> >   ... but are [not] reachable from neither A or C.
> 
> There's a peculiarity of the English language here that means you
> should not use the word "not". The actual error is using "or" as
> the conjunction, instead of "nor": the construct should read
> "neither <alternative 1> nor <alternative 2>", and it means that
> both alternatives are rejected.

But it's not the same to say "not reachable from either A or C", and
"reachable from neither A nor C". In the latter if a commit is reachable
from X (or anything other than A or C), it should be included.

So A~ would be included, because it's reachable from B and reachable
from not A (i.e. B).

It should be "not reachable from either A or C".

Cheers.

-- 
Felipe Contreras
```
