git-rev-list(1)
===============
v0.1, May 2005

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


SYNOPSIS
--------
'git-rev-list' [ *--max-count*=number ] [ *--max-age*=timestamp ] [ *--min-age*=timestamp ] [ *--merge-order* [ *--show-breaks* ] ] <commit>

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.

If *--merge-order* is specified, the commit history is decomposed into a
unique sequence of minimal, non-linear epochs and maximal, linear epochs.
Non-linear epochs are then linearised by sorting them into merge order, which
is described below.

Maximal, linear epochs correspond to periods of sequential development.
Minimal, non-linear epochs correspond to periods of divergent development
followed by a converging merge. The theory of epochs is described in more
detail at
link:http://blackcubes.dyndns.org/epoch/[http://blackcubes.dyndns.org/epoch/].

The merge order for a non-linear epoch is defined as a linearisation for which
the following invariants are true:

    1. if a commit P is reachable from commit N, commit P sorts after commit N
       in the linearised list.
    2. if Pi and Pj are any two parents of a merge M (with i < j), then any
       commit N, such that N is reachable from Pj but not reachable from Pi,
       sorts before all commits reachable from Pi.

Invariant 1 states that later commits appear before earlier commits they are
derived from.

Invariant 2 states that commits unique to "later" parents in a merge, appear
before all commits from "earlier" parents of a merge.

If *--show-breaks* is specified, each item of the list is output with a
2-character prefix consisting of one of: (|), (^), (=) followed by a space.

Commits marked with (=) represent the boundaries of minimal, non-linear epochs
and correspond either to the start of a period of divergent development or to
the end of such a period.

Commits marked with (|) are direct parents of commits immediately preceding
the marked commit in the list.

Commits marked with (^) are not parents of the immediately preceding commit.
These "breaks" represent necessary discontinuities implied by trying to
represent an arbtirary DAG in a linear form.

*--show-breaks* is only valid if *--merge-order* is also specified.

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

Original *--merge-order* logic by Jon Seymour <jon.seymour@gmail.com>

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

GIT
---
Part of the link:git.html[git] suite

