1 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN"
\r
2 "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
\r
3 <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en">
\r
5 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
\r
6 <meta name="generator" content="AsciiDoc 7.0.1" />
\r
7 <style type="text/css">
\r
9 p, li, dt, dd, div, pre, h1, h2, h3, h4, h5, h6 {
\r
11 border: 1px solid red;
\r
16 margin: 1em 5% 1em 5%;
\r
20 a:visited { color: fuchsia; }
\r
34 h1, h2, h3, h4, h5, h6 {
\r
36 font-family: sans-serif;
\r
38 margin-bottom: 0.5em;
\r
43 border-bottom: 2px solid silver;
\r
46 border-bottom: 2px solid silver;
\r
56 border: 1px solid silver;
\r
61 margin-bottom: 0.5em;
\r
71 font-family: sans-serif;
\r
78 font-family: sans-serif;
\r
82 font-family: sans-serif;
\r
84 border-top: 2px solid silver;
\r
90 padding-bottom: 0.5em;
\r
94 padding-bottom: 0.5em;
\r
98 div.tableblock, div.imageblock, div.exampleblock, div.verseblock,
\r
99 div.quoteblock, div.literalblock, div.listingblock, div.sidebarblock,
\r
100 div.admonitionblock {
\r
103 margin-bottom: 1.5em;
\r
105 div.admonitionblock {
\r
107 margin-bottom: 2.5em;
\r
110 div.content { /* Block element content. */
\r
114 /* Block element titles. */
\r
115 div.title, caption.title {
\r
116 font-family: sans-serif;
\r
120 margin-bottom: 0.5em;
\r
126 td div.title:first-child {
\r
129 div.content div.title:first-child {
\r
132 div.content + div.title {
\r
136 div.sidebarblock > div.content {
\r
137 background: #ffffee;
\r
138 border: 1px solid silver;
\r
142 div.listingblock > div.content {
\r
143 border: 1px solid silver;
\r
144 background: #f4f4f4;
\r
148 div.quoteblock > div.content {
\r
149 padding-left: 2.0em;
\r
151 div.quoteblock .attribution {
\r
155 div.admonitionblock .icon {
\r
156 vertical-align: top;
\r
159 text-decoration: underline;
\r
161 padding-right: 0.5em;
\r
163 div.admonitionblock td.content {
\r
164 padding-left: 0.5em;
\r
165 border-left: 2px solid silver;
\r
168 div.exampleblock > div.content {
\r
169 border-left: 2px solid silver;
\r
173 div.verseblock div.content {
\r
177 div.imageblock div.content { padding-left: 0; }
\r
178 div.imageblock img { border: 1px solid silver; }
\r
179 span.image img { border-style: none; }
\r
183 margin-bottom: 0.8em;
\r
188 font-style: italic;
\r
190 dd > *:first-child {
\r
195 list-style-position: outside;
\r
198 list-style-type: lower-alpha;
\r
201 div.tableblock > table {
\r
202 border-color: #527bbd;
\r
206 font-family: sans-serif;
\r
215 margin-bottom: 0.8em;
\r
218 vertical-align: top;
\r
219 font-style: italic;
\r
220 padding-right: 0.8em;
\r
223 vertical-align: top;
\r
227 div#footer-badges { display: none; }
\r
229 include::./stylesheets/xhtml11-manpage.css[]
\r
230 /* Workarounds for IE6's broken and incomplete CSS2. */
\r
232 div.sidebar-content {
\r
233 background: #ffffee;
\r
234 border: 1px solid silver;
\r
237 div.sidebar-title, div.image-title {
\r
238 font-family: sans-serif;
\r
241 margin-bottom: 0.5em;
\r
244 div.listingblock div.content {
\r
245 border: 1px solid silver;
\r
246 background: #f4f4f4;
\r
250 div.quoteblock-content {
\r
251 padding-left: 2.0em;
\r
254 div.exampleblock-content {
\r
255 border-left: 2px solid silver;
\r
256 padding-left: 0.5em;
\r
259 <title>git-rev-list(1)</title>
\r
264 git-rev-list(1) Manual Page
\r
267 <div class="sectionbody">
\r
269 Lists commit objects in reverse chronological order
\r
274 <div class="sectionbody">
\r
275 <div class="verseblock">
\r
276 <div class="content"><em>git-rev-list</em> [ --max-count=number ]
\r
277 [ --max-age=timestamp ]
\r
278 [ --min-age=timestamp ]
\r
283 [ [ --merge-order [ --show-breaks ] ] | [ --topo-order ] ]
\r
285 [ --objects [ --unpacked ] ]
\r
286 [ --pretty | --header ]
\r
288 <commit>… [ -- <paths>… ]</div></div>
\r
290 <h2>DESCRIPTION</h2>
\r
291 <div class="sectionbody">
\r
292 <p>Lists commit objects in reverse chronological order starting at the
\r
293 given commit(s), taking ancestry relationship into account. This is
\r
294 useful to produce human-readable log output.</p>
\r
295 <p>Commits which are stated with a preceding <em>^</em> cause listing to stop at
\r
296 that point. Their parents are implied. "git-rev-list foo bar ^baz" thus
\r
297 means "list all the commits which are included in <em>foo</em> and <em>bar</em>, but
\r
298 not in <em>baz</em>".</p>
\r
299 <p>A special notation <commit1>..<commit2> can be used as a
\r
300 short-hand for ^<commit1> <commit2>.</p>
\r
303 <div class="sectionbody">
\r
310 Print the contents of the commit changesets in human-readable form.
\r
318 Print the contents of the commit in raw-format; each
\r
319 record is separated with a NUL character.
\r
327 Print the object IDs of any object referenced by the listed commits.
\r
328 <em>git-rev-list --objects foo ^bar</em> thus means "send me all object IDs
\r
329 which I need to download if I have the commit object <em>bar</em>, but
\r
338 Only useful with <tt>--objects</tt>; print the object IDs that
\r
347 Limit output to the one commit object which is roughly halfway
\r
348 between the included and excluded commits. Thus, if <em>git-rev-list
\r
349 --bisect foo <sup>bar </sup>baz</em> outputs <em>midpoint</em>, the output
\r
350 of <em>git-rev-list foo ^midpoint</em> and <em>git-rev-list midpoint
\r
351 <sup>bar </sup>baz</em> would be of roughly the same length. Finding the change
\r
352 which introduces a regression is thus reduced to a binary search:
\r
353 repeatedly generate and test new 'midpoint's until the commit chain
\r
362 Limit the number of commits output.
\r
366 --max-age=timestamp, --min-age=timestamp
\r
370 Limit the commits output to specified time range.
\r
378 When optional paths are given, the command outputs only
\r
379 the commits that changes at least one of them, and also
\r
380 ignores merges that do not touch the given paths. This
\r
381 flag makes the command output all eligible commits
\r
382 (still subject to count and age limitation), but apply
\r
383 merge simplification nevertheless.
\r
391 Stop when a given path disappears from the tree.
\r
399 Pretend as if all the refs in <tt>$GIT_DIR/refs/</tt> are
\r
400 listed on the command line as <commit>.
\r
408 By default, the commits are shown in reverse
\r
409 chronological order. This option makes them appear in
\r
410 topological order (i.e. descendant commits are shown
\r
411 before their parents).
\r
419 When specified the commit history is decomposed into a unique
\r
420 sequence of minimal, non-linear epochs and maximal, linear epochs.
\r
421 Non-linear epochs are then linearised by sorting them into merge
\r
422 order, which is described below.
\r
424 <p>Maximal, linear epochs correspond to periods of sequential development.
\r
425 Minimal, non-linear epochs correspond to periods of divergent development
\r
426 followed by a converging merge. The theory of epochs is described in more
\r
428 <a href="http://blackcubes.dyndns.org/epoch/">http://blackcubes.dyndns.org/epoch/</a>.</p>
\r
429 <p>The merge order for a non-linear epoch is defined as a linearisation for which
\r
430 the following invariants are true:</p>
\r
434 if a commit P is reachable from commit N, commit P sorts after commit N
\r
435 in the linearised list.
\r
440 if Pi and Pj are any two parents of a merge M (with i < j), then any
\r
441 commit N, such that N is reachable from Pj but not reachable from Pi,
\r
442 sorts before all commits reachable from Pi.
\r
444 <p>Invariant 1 states that later commits appear before earlier commits they are
\r
446 <p>Invariant 2 states that commits unique to "later" parents in a merge, appear
\r
447 before all commits from "earlier" parents of a merge.</p>
\r
456 Each item of the list is output with a 2-character prefix consisting
\r
457 of one of: (|), (^), (=) followed by a space.
\r
459 <p>Commits marked with (=) represent the boundaries of minimal, non-linear epochs
\r
460 and correspond either to the start of a period of divergent development or to
\r
461 the end of such a period.</p>
\r
462 <p>Commits marked with (|) are direct parents of commits immediately preceding
\r
463 the marked commit in the list.</p>
\r
464 <p>Commits marked with (^) are not parents of the immediately preceding commit.
\r
465 These "breaks" represent necessary discontinuities implied by trying to
\r
466 represent an arbitrary DAG in a linear form.</p>
\r
467 <p><tt>--show-breaks</tt> is only valid if <tt>--merge-order</tt> is also specified.</p>
\r
472 <div class="sectionbody">
\r
473 <p>Written by Linus Torvalds <torvalds@osdl.org></p>
\r
474 <p>Original <strong>--merge-order</strong> logic by Jon Seymour <jon.seymour@gmail.com></p>
\r
476 <h2>Documentation</h2>
\r
477 <div class="sectionbody">
\r
478 <p>Documentation by David Greaves, Junio C Hamano and the git-list <git@vger.kernel.org>.</p>
\r
481 <div class="sectionbody">
\r
482 <p>Part of the <a href="git.html">git(7)</a> suite</p>
\r
485 <div id="footer-text">
\r
486 Last updated 28-Jan-2006 00:54:44 PDT
\r