Documentation: describe 'union' low-level merge driver
[gitweb.git] / Documentation / git-rev-list.txt
index c3c2043d183e0e6c7292f5af7c28af57958c4dcd..a03f9fe5fadc483f47c2fbd0199f72a9619b5fcd 100644 (file)
@@ -16,23 +16,30 @@ SYNOPSIS
             [ \--sparse ]
             [ \--no-merges ]
             [ \--remove-empty ]
+            [ \--full-history ]
             [ \--not ]
             [ \--all ]
             [ \--stdin ]
+            [ \--quiet ]
             [ \--topo-order ]
             [ \--parents ]
+            [ \--timestamp ]
             [ \--left-right ]
             [ \--cherry-pick ]
             [ \--encoding[=<encoding>] ]
             [ \--(author|committer|grep)=<pattern> ]
-            [ \--date={local|relative|default} ]
+            [ \--regexp-ignore-case | \-i ]
+            [ \--extended-regexp | \-E ]
+            [ \--date={local|relative|default|iso|rfc|short} ]
             [ [\--objects | \--objects-edge] [ \--unpacked ] ]
             [ \--pretty | \--header ]
             [ \--bisect ]
             [ \--bisect-vars ]
+            [ \--bisect-all ]
             [ \--merge ]
             [ \--reverse ]
             [ \--walk-reflogs ]
+            [ \--no-walk ] [ \--do-walk ]
             <commit>... [ \-- <paths>... ]
 
 DESCRIPTION
@@ -93,7 +100,7 @@ include::pretty-options.txt[]
 
        Synonym for `--date=relative`.
 
---date={relative,local,default}::
+--date={relative,local,default,iso,rfc}::
 
        Only takes effect for dates shown in human-readable format, such
        as when using "--pretty".
@@ -103,6 +110,13 @@ e.g. "2 hours ago".
 +
 `--date=local` shows timestamps in user's local timezone.
 +
+`--date=iso` (or `--date=iso8601`) shows timestamps in ISO 8601 format.
++
+`--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` format.
++
 `--date=default` shows timestamps in the original timezone
 (either committer's or author's).
 
@@ -115,6 +129,9 @@ e.g. "2 hours ago".
 
        Print the parents of the commit.
 
+--timestamp::
+       Print the raw commit timestamp.
+
 --left-right::
 
        Mark which side of a symmetric diff a commit is reachable from.
@@ -214,10 +231,27 @@ limiting may be applied.
        Limit the commits output to ones with log message that
        matches the specified pattern (regular expression).
 
+-i, --regexp-ignore-case::
+
+       Match the regexp limiting patterns without regard to letters case.
+
+-E, --extended-regexp::
+
+       Consider the limiting patterns to be extended regular expressions
+       instead of the default basic regular expressions.
+
 --remove-empty::
 
        Stop when a given path disappears from the tree.
 
+--full-history::
+
+       Show also parts of history irrelevant to current state of a given
+       path. This turns off history simplification, which removed merges
+       which didn't change anything at all at some child. It will still actually
+       simplify away merges that didn't change anything at all into either
+       child.
+
 --no-merges::
 
        Do not print commits with more than one parent.
@@ -237,6 +271,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
@@ -261,12 +303,14 @@ excluded from the output.
 +
 With '\--pretty' format other than oneline (for obvious reasons),
 this causes the output to have two extra lines of information
-taken from the reflog.  By default, 'commit@{Nth}' notation is
+taken from the reflog.  By default, 'commit@\{Nth}' notation is
 used in the output.  When the starting commit is specified as
-'commit@{now}', output also uses 'commit@{timestamp}' notation
+'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'.
+
 --merge::
 
        After a failed merge, show refs that touch files having a
@@ -320,6 +364,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
@@ -341,6 +400,7 @@ By default, the commits are shown in reverse chronological order.
 --reverse::
 
        Output the commits in reverse order.
+       Cannot be combined with '\--walk-reflogs'.
 
 Object Traversal
 ~~~~~~~~~~~~~~~~
@@ -367,6 +427,14 @@ These options are mostly targeted for packing of git repositories.
        Only useful with '--objects'; print the object IDs that are not
        in packs.
 
+--no-walk::
+
+       Only show the given revs, but do not traverse their ancestors.
+
+--do-walk::
+
+       Overrides a previous --no-walk.
+
 
 include::pretty-formats.txt[]