Merge branch 'master' of git://git.kernel.org/pub/scm/gitk/gitk
[gitweb.git] / Documentation / git-rev-list.txt
index cbbc2345491841bc04f9d4dbffc61d1a896b3a48..db42cd8a9295b96728509c9859441df844177dc4 100644 (file)
@@ -15,11 +15,13 @@ SYNOPSIS
             [ \--min-age=timestamp ]
             [ \--sparse ]
             [ \--no-merges ]
+            [ \--first-parent ]
             [ \--remove-empty ]
             [ \--full-history ]
             [ \--not ]
             [ \--all ]
             [ \--stdin ]
+            [ \--quiet ]
             [ \--topo-order ]
             [ \--parents ]
             [ \--timestamp ]
@@ -34,6 +36,7 @@ SYNOPSIS
             [ \--pretty | \--header ]
             [ \--bisect ]
             [ \--bisect-vars ]
+            [ \--bisect-all ]
             [ \--merge ]
             [ \--reverse ]
             [ \--walk-reflogs ]
@@ -76,11 +79,11 @@ between the two operands.  The following two commands are equivalent:
        $ git-rev-list A...B
 -----------------------------------------------------------------------
 
-gitlink:git-rev-list[1] is a very essential git program, since it
+linkgit:git-rev-list[1] is a very essential git program, since it
 provides the ability to build and traverse commit ancestry graphs. For
 this reason, it has a lot of different options that enables it to be
-used by commands as different as gitlink:git-bisect[1] and
-gitlink:git-repack[1].
+used by commands as different as linkgit:git-bisect[1] and
+linkgit:git-repack[1].
 
 OPTIONS
 -------
@@ -88,9 +91,9 @@ OPTIONS
 Commit Formatting
 ~~~~~~~~~~~~~~~~~
 
-Using these options, gitlink:git-rev-list[1] will act similar to the
-more specialized family of commit log tools: gitlink:git-log[1],
-gitlink:git-show[1], and gitlink:git-whatchanged[1]
+Using these options, linkgit:git-rev-list[1] will act similar to the
+more specialized family of commit log tools: linkgit:git-log[1],
+linkgit:git-show[1], and linkgit:git-whatchanged[1]
 
 include::pretty-options.txt[]
 
@@ -113,7 +116,7 @@ e.g. "2 hours ago".
 `--date=rfc` (or `--date=rfc2822`) shows timestamps in RFC 2822
 format, often found in E-mail messages.
 +
-`--date=short` shows only date but not time, in `YYYY-MM-DD` fomat.
+`--date=short` shows only date but not time, in `YYYY-MM-DD` format.
 +
 `--date=default` shows timestamps in the original timezone
 (either committer's or author's).
@@ -164,8 +167,8 @@ Diff Formatting
 ~~~~~~~~~~~~~~~
 
 Below are listed options that control the formatting of diff output.
-Some of them are specific to gitlink:git-rev-list[1], however other diff
-options may be given. See gitlink:git-diff-files[1] for more options.
+Some of them are specific to linkgit:git-rev-list[1], however other diff
+options may be given. See linkgit:git-diff-files[1] for more options.
 
 -c::
 
@@ -254,6 +257,15 @@ limiting may be applied.
 
        Do not print commits with more than one parent.
 
+--first-parent::
+       Follow only the first parent commit upon seeing a merge
+       commit.  This option can give a better overview when
+       viewing the evolution of a particular topic branch,
+       because merges into a topic branch tend to be only about
+       adjusting to updated upstream from time to time, and
+       this option allows you to ignore the individual commits
+       brought in to your history by such a merge.
+
 --not::
 
        Reverses the meaning of the '{caret}' prefix (or lack thereof)
@@ -269,6 +281,14 @@ limiting may be applied.
        In addition to the '<commit>' listed on the command
        line, read them from the standard input.
 
+--quiet::
+
+       Don't print anything to standard output.  This form of
+       git-rev-list is primarily meant to allow the caller to
+       test the exit status to see if a range of objects is fully
+       connected (or not).  It is faster than redirecting stdout
+       to /dev/null as the output does not have to be formatted.
+
 --cherry-pick::
 
        Omit any commit that introduces the same change as
@@ -298,8 +318,8 @@ used in the output.  When the starting commit is specified as
 'commit@{now}', output also uses 'commit@\{timestamp}' notation
 instead.  Under '\--pretty=oneline', the commit message is
 prefixed with this information on the same line.
-+
-Cannot be combined with --reverse.
+
+Cannot be combined with '\--reverse'.
 
 --merge::
 
@@ -354,6 +374,21 @@ the expected number of commits to be tested if `bisect_rev`
 turns out to be bad to `bisect_bad`, and the number of commits
 we are bisecting right now to `bisect_all`.
 
+--bisect-all::
+
+This outputs all the commit objects between the included and excluded
+commits, ordered by their distance to the included and excluded
+commits. The farthest from them is displayed first. (This is the only
+one displayed by `--bisect`.)
+
+This is useful because it makes it easy to choose a good commit to
+test when you want to avoid to test some of them for some reason (they
+may not compile for example).
+
+This option can be used along with `--bisect-vars`, in this case,
+after all the sorted commit objects, there will be the same text as if
+`--bisect-vars` had been used alone.
+
 --
 
 Commit Ordering
@@ -375,7 +410,7 @@ By default, the commits are shown in reverse chronological order.
 --reverse::
 
        Output the commits in reverse order.
-       Cannot be combined with --walk-reflogs.
+       Cannot be combined with '\--walk-reflogs'.
 
 Object Traversal
 ~~~~~~~~~~~~~~~~
@@ -393,7 +428,7 @@ These options are mostly targeted for packing of git repositories.
 
        Similar to '--objects', but also print the IDs of excluded
        commits prefixed with a "-" character.  This is used by
-       gitlink:git-pack-objects[1] to build "thin" pack, which records
+       linkgit:git-pack-objects[1] to build "thin" pack, which records
        objects in deltified form based on objects contained in these
        excluded commits to reduce network traffic.
 
@@ -425,4 +460,4 @@ and the git-list <git@vger.kernel.org>.
 
 GIT
 ---
-Part of the gitlink:git[7] suite
+Part of the linkgit:git[7] suite