threads / patch / 59659

patchrevisions.txt: correct a mistake in dotted range notations section

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

## tl;dr

4 messages between Apr 26, 2023 and May 2, 2023. Diffs are folded; open one to read it.

replies: 3people: 4as markdown or json

Pooyan Khanjankhani via GitGitGadget· Apr 26, 2023, 07:44 UTC · lore
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(-)
Show changes to Documentation/revisions.txt +1 −1
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· Apr 26, 2023, 16:46 UTC · re: Pooyan Khanjankhani via GitGitGadget · lore

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

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

Show 12 quoted lines
>      $ 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· Apr 26, 2023, 21:16 UTC · re: Pooyan Khanjankhani via GitGitGadget · lore

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

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):

Show changes to Documentation/revisions.txt +4 −4
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· May 2, 2023, 16:57 UTC · re: Chris Torek · lore

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

Chris Torek wrote:
Show 12 quoted lines
> 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

← back to recent threads