Merge branch 'master' into next

* master:
  rev-parse documentation: talk about range notation.
  show-branch: match documentation and usage
This commit is contained in:
Junio C Hamano
2006-07-06 22:40:33 -07:00
3 changed files with 43 additions and 9 deletions

View File

@@ -156,11 +156,6 @@ syntax.
and dereference the tag recursively until a non-tag object is
found.
'git-rev-parse' also accepts a prefix '{caret}' to revision parameter,
which is passed to 'git-rev-list'. Two revision parameters
concatenated with '..' is a short-hand for writing a range
between them. I.e. 'r1..r2' is equivalent to saying '{caret}r1 r2'
Here is an illustration, by Jon Loeliger. Both node B and C are
a commit parents of commit node A. Parent commits are ordered
left-to-right.
@@ -168,9 +163,9 @@ left-to-right.
G H I J
\ / \ /
D E F
\ | /
\ | /
\|/
\ | / \
\ | / |
\|/ |
B C
\ /
\ /
@@ -188,6 +183,40 @@ left-to-right.
J = F^2 = B^3^2 = A^^3^2
SPECIFYING RANGES
-----------------
History traversing commands such as `git-log` operate on a set
of commits, not just a single commit. To these commands,
specifying a single revision with the notation described in the
previous section means the set of commits reachable from that
commit, following the commit ancestry chain.
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`.
This set operation appears so often that there is a shorthand
for it. "`r1..r2`" is equivalent to "`{caret}r1 r2`". It is
the difference of two sets (subtract the set of commits
reachable from `r1` from the set of commits reachable from
`r2`).
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 it the set of commits that are reachable from either one of
`r1` or `r2` but not from both.
Here are a few examples:
D A B D
D F A B C D F
^A G B D
^A F B C F
G...I C D F G I
^B G I C D F G I
Author
------
Written by Linus Torvalds <torvalds@osdl.org> and

View File

@@ -52,6 +52,11 @@ OPTIONS
appear in topological order (i.e., descendant commits
are shown before their parents).
--sparse::
By default, the output omits merges that are reachable
from only one tip being shown. This option makes them
visible.
--more=<n>::
Usually the command stops output upon showing the commit
that is the common ancestor of all the branches. This

View File

@@ -6,7 +6,7 @@
#include "builtin.h"
static const char show_branch_usage[] =
"git-show-branch [--dense] [--current] [--all] [--heads] [--tags] [--topo-order] [--more=count | --list | --independent | --merge-base ] [--topics] [<refs>...]";
"git-show-branch [--sparse] [--current] [--all] [--heads] [--tags] [--topo-order] [--more=count | --list | --independent | --merge-base ] [--topics] [<refs>...]";
static int default_num = 0;
static int default_alloc = 0;