git-rev-list(1)
===============

NAME
----
git-rev-list - Lists commit objects in reverse chronological order


SYNOPSIS
--------
[verse]
'git-rev-list' [ \--max-count=number ]
	     [ \--max-age=timestamp ]
	     [ \--min-age=timestamp ]
	     [ \--sparse ]
	     [ \--no-merges ]
	     [ \--remove-empty ]
	     [ \--all ]
	     [ \--topo-order ]
	     [ \--parents ]
	     [ [\--objects | \--objects-edge] [ \--unpacked ] ]
	     [ \--pretty | \--header ]
	     [ \--bisect ]
	     <commit>... [ \-- <paths>... ]

DESCRIPTION
-----------
Lists commit objects in reverse chronological order starting at the
given commit(s), taking ancestry relationship into account.  This is
useful to produce human-readable log output.

Commits which are stated with a preceding '{caret}' cause listing to stop at
that point. Their parents are implied. "git-rev-list foo bar {caret}baz" thus
means "list all the commits which are included in 'foo' and 'bar', but
not in 'baz'".

A special notation <commit1>..<commit2> can be used as a
short-hand for {caret}<commit1> <commit2>.


OPTIONS
-------
--pretty::
	Print the contents of the commit changesets in human-readable form.

--header::
	Print the contents of the commit in raw-format; each
	record is separated with a NUL character.

--objects::
	Print the object IDs of any object referenced by the listed commits.
	'git-rev-list --objects foo ^bar' thus means "send me all object IDs
	which I need to download if I have the commit object 'bar', but
	not 'foo'".

--objects-edge::
	Similar to `--objects`, but also print the IDs of
	excluded commits refixed with a `-` character.  This is
	used by `git-pack-objects` to build 'thin' pack, which
	records objects in deltified form based on objects
	contained in these excluded commits to reduce network
	traffic.

--unpacked::
	Only useful with `--objects`; print the object IDs that
	are not in packs.

--bisect::
	Limit output to the one commit object which is roughly halfway
	between the included and excluded commits. Thus, if 'git-rev-list
	--bisect foo {caret}bar {caret}baz' outputs 'midpoint', the output
	of 'git-rev-list foo {caret}midpoint' and 'git-rev-list midpoint
	{caret}bar {caret}baz' would be of roughly the same length.
	Finding the change
	which introduces a regression is thus reduced to a binary search:
	repeatedly generate and test new 'midpoint's until the commit chain
	is of length one.

--max-count::
	Limit the number of commits output.

--max-age=timestamp, --min-age=timestamp::
	Limit the commits output to specified time range.

--sparse::
	When optional paths are given, the command outputs only
	the commits that changes at least one of them, and also
	ignores merges that do not touch the given paths.  This
	flag makes the command output all eligible commits
	(still subject to count and age limitation), but apply
	merge simplification nevertheless.

--remove-empty::
	Stop when a given path disappears from the tree.

--all::
	Pretend as if all the refs in `$GIT_DIR/refs/` are
	listed on the command line as <commit>.

--topo-order::
	By default, the commits are shown in reverse
	chronological order.  This option makes them appear in
	topological order (i.e. descendant commits are shown
	before their parents).

Author
------
Written by Linus Torvalds <torvalds@osdl.org>

Documentation
--------------
Documentation by David Greaves, Junio C Hamano and the git-list <git@vger.kernel.org>.

GIT
---
Part of the gitlink:git[7] suite

