Re: [PATCH v4 0/8] Name for A..B ranges?

2016-07-20 Thread Junio C Hamano
Philip Oakley  writes:

> No change in the number of patches. Interdiff below.
>
> The patches carefully tease out the clarification of
> reachability. Reachability is defined relative the ancestry chain thus
> (hopefully) avoiding misunderstandings.
>
> The final patch updates the summary examples, and the tricky (for the
> untutored reader) two dots case of a linear development where r1..r2
> excludes r1 itself.

All looked sensible and each focused on a single issue and fixing it
well.  Done very nicely.

Thanks.  Will (re)queue, wait for a few days for further comments
and let's merge it to 'next'.

--
To unsubscribe from this list: send the line "unsubscribe git" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html


[PATCH v4 0/8] Name for A..B ranges?

2016-07-20 Thread Philip Oakley
This is the V4 re-roll of the po/range-doc (2016-07-01) 3 commits and its
follow on patch.

Capitalisation has been fixed.
Heading levels for man pages has been fixed.
Quoting of the caret has been fixed.
The extra width wise 'caret' shorthands now mention their applicability to 
merge commits.

No change in the number of patches. Interdiff below.

The patches carefully tease out the clarification of
reachability. Reachability is defined relative the ancestry chain thus
(hopefully) avoiding misunderstandings.

The final patch updates the summary examples, and the tricky (for the
untutored reader) two dots case of a linear development where r1..r2
excludes r1 itself.

The patches can be squashed together if required.

Original discussion starts at: $gmane/297908
V1 patch series $gmane/298223
V2 patch series $gmane/298689
V3 patch series $gmane/299293


Philip Oakley (8):
  doc: use 'symmetric difference' consistently
  doc: revisions - name the left and right sides
  doc: show the actual left, right, and boundary marks
  doc: give headings for the two and three dot notations
  doc: gitrevisions - use 'reachable' in page description
  doc: gitrevisions - clarify 'latter case' is revision walk
  doc: revisions  - define `reachable`
  doc: revisions - clarify reachability examples

 Documentation/gitk.txt |  2 +-
 Documentation/gitrevisions.txt |  6 +--
 Documentation/pretty-formats.txt   |  2 +-
 Documentation/rev-list-options.txt |  4 +-
 Documentation/revisions.txt| 83 --
 5 files changed, 59 insertions(+), 38 deletions(-)

 interdiff:
 
 diff --git a/Documentation/revisions.txt b/Documentation/revisions.txt
index dba4fc6..14622cc 100644
--- a/Documentation/revisions.txt
+++ b/Documentation/revisions.txt
@@ -241,35 +241,38 @@ of commits, not just a single commit.
 
 For these commands,
 specifying a single revision, using the notation described in the
-previous section, means the `reachable` set of commits of the given
+previous section, means the set of commits `reachable` from the given
 commit.
 
-A commit's reachable set is the commit itself and the commits of
+A commit's reachable set is the commit itself and the commits in
 its ancestry chain.
 
 
-The '{caret}' (caret) notation
-~~~
-To exclude commits reachable from a commit, a prefix '{caret}'
-notation is used.  E.g. '{caret}r1 r2' means commits reachable
-from 'r2' but exclude those reachable from 'r1' (i.e. 'r1' and its
-ancestors).
-
-The '..' (two-dot) range notation
-~
-The '{caret}r1 r2' set operation appears so often that there is a shorthand
-for it.  When you have two commits 'r1' and 'r2' (named according
-to the syntax explained in SPECIFYING REVISIONS above), you can ask
-for commits that are reachable from r2 excluding those that are reachable
-from r1 by '{caret}r1 r2' and it can be written as 'r1..r2'.
-
-The '...' (three dot) Symmetric Difference notation
-~~~
-A similar notation 'r1\...r2' is called symmetric difference
-of 'r1' and 'r2' and is defined as
-'r1 r2 --not $(git merge-base --all r1 r2)'.
-It is the set of commits that are reachable from either one of
-'r1' (Left side) or 'r2' (Right side) but not from both.
+Commit Exclusions
+~
+
+'{caret}' (caret) Notation::
+ To exclude commits reachable from a commit, a prefix '{caret}'
+ notation is used.  E.g. '{caret}r1 r2' means commits reachable
+ from 'r2' but exclude the ones reachable from 'r1' (i.e. 'r1' and
+ its ancestors).
+
+Dotted Range Notations
+~~
+
+The '..' (two-dot) Range Notation::
+ The '{caret}r1 r2' set operation appears so often that there is a shorthand
+ for it.  When you have two commits 'r1' and 'r2' (named according
+ to the syntax explained in SPECIFYING REVISIONS above), you can ask
+ for commits that are reachable from r2 excluding those that are reachable
+ from r1 by '{caret}r1 r2' and it can be written as 'r1..r2'.
+
+The '...' (three dot) Symmetric Difference Notation::
+ A similar notation 'r1\...r2' is called symmetric difference
+ of 'r1' and 'r2' and is defined as
+ 'r1 r2 --not $(git merge-base --all r1 r2)'.
+ It is the set of commits that are reachable from either one of
+ 'r1' (left side) or 'r2' (right side) but not from both.
 
 In these two shorthand notations, you can omit one end and let it default to 
HEAD.
 For example, 'origin..' is a shorthand for 'origin..HEAD' and asks "What
@@ -278,10 +281,10 @@ is a shorthand for 'HEAD..origin' and asks "What did the 
origin do since
 I forked from them?"  Note that '..' would mean 'HEAD..HEAD' which is an
 empty range that is both reachable and unreachable from HEAD.
 
-Additional '{caret}' Shorthand notations
-
-Two other shorthands for naming a set that is formed by a commit
-and its parent commits exist.
+Special '{caret}' Shorthand Notations
+~~~

Re: [PATCH v3 0/8] Name for A..B ranges?

2016-07-12 Thread Philip Oakley

From: "Junio C Hamano" 

Philip Oakley  writes:


This is the re-roll of the po/range-doc (2016-07-01) 3 commits and its
follow on patch.

The series has gained additional patches following the discussions
($gmane/298790).

..


The patches can be squashed together if required.


Looked mostly sensible, except for a few things mentioned in the
reviews by Marc (to which I mostly agree with).



Thanks. I'll update in the next few days.

Philip
--
To unsubscribe from this list: send the line "unsubscribe git" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html


Re: [PATCH v3 0/8] Name for A..B ranges?

2016-07-12 Thread Junio C Hamano
Philip Oakley  writes:

> This is the re-roll of the po/range-doc (2016-07-01) 3 commits and its
> follow on patch.
>
> The series has gained additional patches following the discussions
> ($gmane/298790).
>
> The original first 3 patches are unchanged, though 2/8 has been inserted
> to name the Left and Right ranges.
>
> The extra four patches carefully tease out the clarification of
> reachability. Reachability is defined relative the ancestry chain thus
> (hopefully) avoiding misunderstandings.
>
> The final patch updates the summary examples, and the tricky (for the
> untutored reader) two dots case of a linear development where r1..r2
> excludes r1 itself.
>
> The patches can be squashed together if required.

Looked mostly sensible, except for a few things mentioned in the
reviews by Marc (to which I mostly agree with).

Thanks.

--
To unsubscribe from this list: send the line "unsubscribe git" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html


[PATCH v3 0/8] Name for A..B ranges?

2016-07-11 Thread Philip Oakley
This is the re-roll of the po/range-doc (2016-07-01) 3 commits and its
follow on patch.

The series has gained additional patches following the discussions
($gmane/298790).

The original first 3 patches are unchanged, though 2/8 has been inserted
to name the Left and Right ranges.

The extra four patches carefully tease out the clarification of
reachability. Reachability is defined relative the ancestry chain thus
(hopefully) avoiding misunderstandings.

The final patch updates the summary examples, and the tricky (for the
untutored reader) two dots case of a linear development where r1..r2
excludes r1 itself.

The patches can be squashed together if required.

Original discussion starts at: $gmane/297908
V1 patch series $gmane/298223
V2 patch series $gmane/298689


Philip Oakley (8):
  doc: use 'symmetric difference' consistently
  doc: revisions - name the Left and Right sides
  doc: show the actual left, right, and boundary marks
  doc: give headings for the two and three dot notations
  doc: gitrevisions - use 'reachable' in page description
  doc: gitrevisions - clarify 'latter case' is revision walk
  doc: revisions  - define `reachable`
  doc: revisions - clarify reachability examples

 Documentation/gitk.txt |  2 +-
 Documentation/gitrevisions.txt |  6 ++---
 Documentation/pretty-formats.txt   |  2 +-
 Documentation/rev-list-options.txt |  4 +--
 Documentation/revisions.txt| 50 ++
 5 files changed, 41 insertions(+), 23 deletions(-)

-- 
2.8.4.windows.1.3.ge328a54

follows from msg-ID <20160630202509.4472-1-philipoak...@iee.org>
--
To unsubscribe from this list: send the line "unsubscribe git" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html


Re: [PATCH v2 0/4] Name for A..B ranges?

2016-07-01 Thread Junio C Hamano
Philip Oakley  writes:

> This is the re-roll of the po/range-doc (2016-06-27) 3 commits
>
> The order is slightly re-arranged, and an additional patch clarifying
> that ^r1 excludes r1 itself being added.
>
> The heading have been tweaked.

Thanks.

I think 1-3 are ready for 'next'.  4/4 may need a bit more
thinking.

--
To unsubscribe from this list: send the line "unsubscribe git" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html


[PATCH v2 0/4] Name for A..B ranges?

2016-06-30 Thread Philip Oakley
This is the re-roll of the po/range-doc (2016-06-27) 3 commits

The order is slightly re-arranged, and an additional patch clarifying
that ^r1 excludes r1 itself being added.

The heading have been tweaked.

Discussion: $gmane/297908
previous patch series $gmane/298223

Philip Oakley (4):
  doc: use 'symmetric difference' consistently
  doc: show the actual left, right, and boundary marks
  doc: give headings for the two and three dot notations
  doc: clarify that `^r1` will exclude `r1` itself

 Documentation/gitk.txt |  2 +-
 Documentation/pretty-formats.txt   |  2 +-
 Documentation/rev-list-options.txt |  4 ++--
 Documentation/revisions.txt| 25 ++---
 4 files changed, 22 insertions(+), 11 deletions(-)

-- 
2.8.4.windows.1.3.ge328a54

--
To unsubscribe from this list: send the line "unsubscribe git" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html


Re: name for A..B ranges?

2016-06-27 Thread Philip Oakley

From: "Junio C Hamano" 

"Philip Oakley"  writes:


..., I was wondering
if an alternative would be to refer to it via [use the headings of]
it's notation, i.e. "the 'two-dot' range notation" (or 'syntax' is
that is preferred), and the "three-dot symmetric difference notation".


That's a lot more sensible pair of headings, I would think.


The existing explanatory text can stand as is, but they would now have
a section for readers to find.

Or should I just drop this?


I like the approach to separate them into clearly marked sections.
I primarily was reacting to the "single-sided" which nobody would
understand.
--


Thanks, I'll update the patches (probably tomorrow)
Philip
--
To unsubscribe from this list: send the line "unsubscribe git" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html


Re: name for A..B ranges?

2016-06-27 Thread Junio C Hamano
"Philip Oakley"  writes:

> ..., I was wondering
> if an alternative would be to refer to it via [use the headings of]
> it's notation, i.e. "the 'two-dot' range notation" (or 'syntax' is
> that is preferred), and the "three-dot symmetric difference notation".

That's a lot more sensible pair of headings, I would think.

> The existing explanatory text can stand as is, but they would now have
> a section for readers to find.
>
> Or should I just drop this?

I like the approach to separate them into clearly marked sections.
I primarily was reacting to the "single-sided" which nobody would
understand.
--
To unsubscribe from this list: send the line "unsubscribe git" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html


Re: name for A..B ranges?

2016-06-27 Thread Philip Oakley

From: "Junio C Hamano" 

"Philip Oakley"  writes:


Yup, I think "range" is the commonly used word in discussions here.
When inventing A...B as a new thing in addition to A..B, we called
the former "symmetric difference", and what is implied by that is
the latter is "asymmetric difference"; we do not say that unless we
are contrasting between the two, though.


I asked because the man page does indicae that it (A..B) is a special
sort of revison range and "there is a shorthand for it", but then
didn't have a way of naming it.


I do not see "is a special sort of revision range" improved in your
two patches, though.


Hi Junio

I'm not sure what's meant here. That patch was about ensuring that the 
relevant syntax notations had headings to make them more easily locatable, 
not to change the explanations.




Knowing that A..B is merely a short-hand for ^A B is important to
understand how revision ranges work (e.g. "A..B C" is not "union of
A..B and C"), so I think it is worth addressing if the existing
description appeared to you that it may confuse readers.


I felt the explanations, once found, were OK. It was the discovery step I 
was hoepfully addressing.



The symmetric difference is then brought in as a further similar
notation. There are a number of Stackoverflow questions about the
differences betwee 'two dots' and 'three dots' as well, so having a
word/phrase for it could help.

I was thinking that maybe "single-sided difference (two dots)" maybe
one choice that is relatively neutral (or even a "two-dot range"...).


When contrasting .. and ..., we have always used "asymmetric" vs
"symmetric".  I'd prefer to see usnot invent new phrase nobody has
used, which leads to unnecessary confusion and learning burden.


Rather than trying to find a complement to the previously invented 
"symmetric difference" name (for the section heading), I was wondering if an 
alternative would be to refer to it via [use the headings of] it's notation, 
i.e. "the 'two-dot' range notation" (or 'syntax' is that is preferred), and 
the "three-dot symmetric difference notation".


The existing explanatory text can stand as is, but they would now have a 
section for readers to find.


Or should I just drop this?

--
Philip

--
To unsubscribe from this list: send the line "unsubscribe git" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html


Re: name for A..B ranges?

2016-06-25 Thread Junio C Hamano
"Philip Oakley"  writes:

>> Yup, I think "range" is the commonly used word in discussions here.
>> When inventing A...B as a new thing in addition to A..B, we called
>> the former "symmetric difference", and what is implied by that is
>> the latter is "asymmetric difference"; we do not say that unless we
>> are contrasting between the two, though.
>>
> I asked because the man page does indicae that it (A..B) is a special
> sort of revison range and "there is a shorthand for it", but then
> didn't have a way of naming it.

I do not see "is a special sort of revision range" improved in your
two patches, though.

Knowing that A..B is merely a short-hand for ^A B is important to
understand how revision ranges work (e.g. "A..B C" is not "union of
A..B and C"), so I think it is worth addressing if the existing
description appeared to you that it may confuse readers.

> The symmetric difference is then brought in as a further similar
> notation. There are a number of Stackoverflow questions about the
> differences betwee 'two dots' and 'three dots' as well, so having a
> word/phrase for it could help.
>
> I was thinking that maybe "single-sided difference (two dots)" maybe
> one choice that is relatively neutral (or even a "two-dot range"...).

When contrasting .. and ..., we have always used "asymmetric" vs
"symmetric".  I'd prefer to see usnot invent new phrase nobody has
used, which leads to unnecessary confusion and learning burden.
--
To unsubscribe from this list: send the line "unsubscribe git" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html


[PATCH 0/2] Re: name for A..B ranges?

2016-06-25 Thread Philip Oakley
>> On Wed, Jun 22, 2016 at 08:25:59AM +0100, Philip Oakley wrote:
>>
>>> Is there a common name for the A..B range format (two dots) that would
>>> complement the A...B (three dots) symmetric range format's name?
$gmane/297908

Here is a short two patch series to hopefully enhance the
revisions (and rev-parse) man page to help clarify the symmetric
difference and two / three dots notations.

The HTML versions look OK to me - tested on the Git-for-Windows SDK.

Philip Oakley (2):
  doc: use 'symmetric difference' consistently
  doc: give headings for the two and three dot notations

 Documentation/gitk.txt |  2 +-
 Documentation/rev-list-options.txt |  4 ++--
 Documentation/revisions.txt| 17 +
 3 files changed, 16 insertions(+), 7 deletions(-)

-- 
2.8.4.windows.1.3.ge328a54
--
To unsubscribe from this list: send the line "unsubscribe git" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html


Re: name for A..B ranges?

2016-06-25 Thread Philip Oakley

From: "Junio C Hamano" 

Jeff King  writes:


On Wed, Jun 22, 2016 at 08:25:59AM +0100, Philip Oakley wrote:


Is there a common name for the A..B range format (two dots) that would
complement the A...B (three dots) symmetric range format's name?

I was looking at the --left-right distinctions and noticed that the 
trail
back to the symmetric range description was rather thin (it's buried 
within

gitrevisions:Specifying Ranges, and even then its called a symmetric
difference.


I would just call it a range, or possibly a set difference. But I don't
think we have any established naming beyond that.


Yup, I think "range" is the commonly used word in discussions here.
When inventing A...B as a new thing in addition to A..B, we called
the former "symmetric difference", and what is implied by that is
the latter is "asymmetric difference"; we do not say that unless we
are contrasting between the two, though.

I asked because the man page does indicae that it (A..B) is a special sort 
of revison range and "there is a shorthand for it", but then didn't have a 
way of naming it.


The symmetric difference is then brought in as a further similar notation. 
There are a number of Stackoverflow questions about the differences betwee 
'two dots' and 'three dots' as well, so having a word/phrase for it could 
help.


I was thinking that maybe "single-sided difference (two dots)" maybe one 
choice that is relatively neutral (or even a "two-dot range"...).


--
Philip 


--
To unsubscribe from this list: send the line "unsubscribe git" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html


Re: name for A..B ranges?

2016-06-24 Thread Junio C Hamano
Jeff King  writes:

> On Wed, Jun 22, 2016 at 08:25:59AM +0100, Philip Oakley wrote:
>
>> Is there a common name for the A..B range format (two dots) that would
>> complement the A...B (three dots) symmetric range format's name?
>> 
>> I was looking at the --left-right distinctions and noticed that the trail
>> back to the symmetric range description was rather thin (it's buried within
>> gitrevisions:Specifying Ranges, and even then its called a symmetric
>> difference.
>
> I would just call it a range, or possibly a set difference. But I don't
> think we have any established naming beyond that.

Yup, I think "range" is the commonly used word in discussions here.
When inventing A...B as a new thing in addition to A..B, we called
the former "symmetric difference", and what is implied by that is
the latter is "asymmetric difference"; we do not say that unless we
are contrasting between the two, though.
--
To unsubscribe from this list: send the line "unsubscribe git" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html


Re: name for A..B ranges?

2016-06-24 Thread Jeff King
On Wed, Jun 22, 2016 at 08:25:59AM +0100, Philip Oakley wrote:

> Is there a common name for the A..B range format (two dots) that would
> complement the A...B (three dots) symmetric range format's name?
> 
> I was looking at the --left-right distinctions and noticed that the trail
> back to the symmetric range description was rather thin (it's buried within
> gitrevisions:Specifying Ranges, and even then its called a symmetric
> difference.

I would just call it a range, or possibly a set difference. But I don't
think we have any established naming beyond that.

-Peff
--
To unsubscribe from this list: send the line "unsubscribe git" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html


name for A..B ranges?

2016-06-22 Thread Philip Oakley

Hi,

Is there a common name for the A..B range format (two dots) that would 
complement the A...B (three dots) symmetric range format's name?


I was looking at the --left-right distinctions and noticed that the trail 
back to the symmetric range description was rather thin (it's buried within 
gitrevisions:Specifying Ranges, and even then its called a symmetric 
difference.


Philip 


--
To unsubscribe from this list: send the line "unsubscribe git" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html