Message ID | pull.1485.git.git.1682495081131.gitgitgadget@gmail.com (mailing list archive) |
---|---|
State | New, archived |
Headers | show |
Series | revisions.txt: correct a mistake in dotted range notations section | expand |
"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
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
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.
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