Autogenerated man pages for v1.4.1-gbe4c7
authorJunio C Hamano <junio@hera.kernel.org>
Fri, 7 Jul 2006 06:05:48 +0000 (06:05 +0000)
committerJunio C Hamano <junio@hera.kernel.org>
Fri, 7 Jul 2006 06:05:48 +0000 (06:05 +0000)
man1/git-rev-list.1
man1/git-rev-parse.1
man1/git-show-branch.1

index 9993aa74668db2d5fb3933eb3e3d36bb4f9f21cf..46945ab15ff53fd46f7d03be3e05e5d1ce6d2e9f 100755 (executable)
@@ -29,6 +29,7 @@ git-rev-list \- Lists commit objects in reverse chronological order
              [ \-\-sparse ]
              [ \-\-no\-merges ]
              [ \-\-remove\-empty ]
+             [ \-\-not ]
              [ \-\-all ]
              [ \-\-topo\-order ]
              [ \-\-parents ]
@@ -49,6 +50,14 @@ Commits which are stated with a preceding \fI^\fR cause listing to stop at that
 
 A special notation <commit1>\&.\&.<commit2> can be used as a short\-hand for ^<commit1> <commit2>\&.
 
+
+Another special notation is <commit1>...<commit2> which is useful for merges\&. The resulting set of commits is the symmetric difference between the two operands\&. The following two commands are equivalent:
+
+.nf
+$ git\-rev\-list A B \-\-not $(git\-merge\-base \-\-all A B)
+$ git\-rev\-list A\&.\&.\&.B
+.fi
+
 .SH "OPTIONS"
 
 .TP
@@ -91,6 +100,10 @@ When optional paths are given, the command outputs only the commits that changes
 \-\-remove\-empty
 Stop when a given path disappears from the tree\&.
 
+.TP
+\-\-not
+Reverses the meaning of the \fI^\fR prefix (or lack thereof) for all following revision specifiers, up to the next \-\-not\&.
+
 .TP
 \-\-all
 Pretend as if all the refs in $GIT_DIR/refs/ are listed on the command line as <commit>\&.
index 5ad557cbaee223c73b98299b70f2d0f3871c6959..8dad291e98fe92487ec1c9c552eedaad5774f8c8 100755 (executable)
@@ -141,18 +141,14 @@ A suffix \fI^\fR followed by an empty brace pair (e\&.g\&. v0\&.99\&.8^{}) means
 .LP
 
 
-\fIgit\-rev\-parse\fR also accepts a prefix \fI^\fR to revision parameter, which is passed to \fIgit\-rev\-list\fR\&. Two revision parameters concatenated with \fI\&.\&.\fR is a short\-hand for writing a range between them\&. I\&.e\&. \fIr1\&.\&.r2\fR is equivalent to saying \fI^r1 r2\fR
-
-
 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\&.
 
 .nf
 G   H   I   J
  \\ /     \\ /
   D   E   F
-   \\  |  /
-    \\ | /
-     \\|/
+   \\  |  /         \\ | /   |
+     \\|/    |
       B     C
        \\   /
         \\ /
@@ -172,6 +168,32 @@ I = F^   = B^3^    = A^^3^
 J = F^2  = B^3^2   = A^^3^2
 .fi
 
+.SH "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 ^ notation is used\&. E\&.g\&. "^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 "^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:
+
+.nf
+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
+.fi
+
 .SH "AUTHOR"
 
 
index ca6869d8f31a6f73bcfbde19376440b9c74894df..51c77e162e160e562568ffb11d4131ddb24fc7ff 100755 (executable)
@@ -61,6 +61,10 @@ With this option, the command includes the current branch to the list of revs to
 \-\-topo\-order
 By default, the branches and their commits are shown in reverse chronological order\&. This option makes them appear in topological order (i\&.e\&., descendant commits are shown before their parents)\&.
 
+.TP
+\-\-sparse
+By default, the output omits merges that are reachable from only one tip being shown\&. This option makes them visible\&.
+
 .TP
 \-\-more=<n>
 Usually the command stops output upon showing the commit that is the common ancestor of all the branches\&. This flag tells the command to go <n> more common commits beyond that\&. When <n> is negative, display only the <reference>s given, without showing the commit ancestry tree\&.