Teach the --multiple option to 'git fetch'
[gitweb.git] / Documentation / git-rev-list.txt
index f2c5fa9f4cd598681ccdb6873f98fee5d37e845b..3341d1b62f34fa99afcdab91da1191ceacc2c24f 100644 (file)
@@ -1,6 +1,5 @@
 git-rev-list(1)
 ===============
-v0.1, May 2005
 
 NAME
 ----
@@ -9,13 +8,101 @@ git-rev-list - Lists commit objects in reverse chronological order
 
 SYNOPSIS
 --------
-'git-rev-list' <commit>
+[verse]
+'git-rev-list' [ \--max-count=number ]
+            [ \--skip=number ]
+            [ \--max-age=timestamp ]
+            [ \--min-age=timestamp ]
+            [ \--sparse ]
+            [ \--merges ]
+            [ \--no-merges ]
+            [ \--first-parent ]
+            [ \--remove-empty ]
+            [ \--full-history ]
+            [ \--not ]
+            [ \--all ]
+            [ \--branches ]
+            [ \--tags ]
+            [ \--remotes ]
+            [ \--stdin ]
+            [ \--quiet ]
+            [ \--topo-order ]
+            [ \--parents ]
+            [ \--timestamp ]
+            [ \--left-right ]
+            [ \--cherry-pick ]
+            [ \--encoding[=<encoding>] ]
+            [ \--(author|committer|grep)=<pattern> ]
+            [ \--regexp-ignore-case | -i ]
+            [ \--extended-regexp | -E ]
+            [ \--fixed-strings | -F ]
+            [ \--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
 -----------
-Lists commit objects in reverse chronological order starting at the
-given commit, taking ancestry relationship into account.  This is
-useful to produce human-readable log output.
+
+List commits that are reachable by following the `parent` links from the
+given commit(s), but exclude commits that are reachable from the one(s)
+given with a '{caret}' in front of them.  The output is given in reverse
+chronological order by default.
+
+You can think of this as a set operation.  Commits given on the command
+line form a set of commits that are reachable from any of them, and then
+commits reachable from any of the ones given with '{caret}' in front are
+subtracted from that set.  The remaining commits are what comes out in the
+command's output.  Various other options and paths parameters can be used
+to further limit the result.
+
+Thus, the following command:
+
+-----------------------------------------------------------------------
+       $ git rev-list foo bar ^baz
+-----------------------------------------------------------------------
+
+means "list all the commits which are reachable from 'foo' or 'bar', but
+not from 'baz'".
+
+A special notation "'<commit1>'..'<commit2>'" can be used as a
+short-hand for "{caret}'<commit1>' '<commit2>'". For example, either of
+the following may be used interchangeably:
+
+-----------------------------------------------------------------------
+       $ git rev-list origin..HEAD
+       $ git rev-list HEAD ^origin
+-----------------------------------------------------------------------
+
+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:
+
+-----------------------------------------------------------------------
+       $ git rev-list A B --not $(git merge-base --all A B)
+       $ git rev-list A...B
+-----------------------------------------------------------------------
+
+'rev-list' is a very essential git command, 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 'git-bisect' and
+'git-repack'.
+
+OPTIONS
+-------
+
+:git-rev-list: 1
+include::rev-list-options.txt[]
+
+include::pretty-formats.txt[]
 
 
 Author
@@ -24,9 +111,9 @@ Written by Linus Torvalds <torvalds@osdl.org>
 
 Documentation
 --------------
-Documentation by David Greaves, Junio C Hamano and the git-list <git@vger.kernel.org>.
+Documentation by David Greaves, Junio C Hamano, Jonas Fonseca
+and the git-list <git@vger.kernel.org>.
 
 GIT
 ---
-Part of the link:git.html[git] suite
-
+Part of the linkgit:git[1] suite