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
282 [ [ --merge-order [ --show-breaks ] ] | [ --topo-order ] ]
\r
284 [ --objects [ --unpacked ] ]
\r
285 [ --pretty | --header ]
\r
287 <commit>… [ -- <paths>… ]</div></div>
\r
289 <h2>DESCRIPTION</h2>
\r
290 <div class="sectionbody">
\r
291 <p>Lists commit objects in reverse chronological order starting at the
\r
292 given commit(s), taking ancestry relationship into account. This is
\r
293 useful to produce human-readable log output.</p>
\r
294 <p>Commits which are stated with a preceding <em>^</em> cause listing to stop at
\r
295 that point. Their parents are implied. "git-rev-list foo bar ^baz" thus
\r
296 means "list all the commits which are included in <em>foo</em> and <em>bar</em>, but
\r
297 not in <em>baz</em>".</p>
\r
298 <p>A special notation <commit1>..<commit2> can be used as a
\r
299 short-hand for ^<commit1> <commit2>.</p>
\r
302 <div class="sectionbody">
\r
309 Print the contents of the commit changesets in human-readable form.
\r
317 Print the contents of the commit in raw-format; each
\r
318 record is separated with a NUL character.
\r
326 Print the object IDs of any object referenced by the listed commits.
\r
327 <em>git-rev-list --objects foo ^bar</em> thus means "send me all object IDs
\r
328 which I need to download if I have the commit object <em>bar</em>, but
\r
337 Only useful with <tt>--objects</tt>; print the object IDs that
\r
346 Limit output to the one commit object which is roughly halfway
\r
347 between the included and excluded commits. Thus, if <em>git-rev-list
\r
348 --bisect foo <sup>bar </sup>baz</em> outputs <em>midpoint</em>, the output
\r
349 of <em>git-rev-list foo ^midpoint</em> and <em>git-rev-list midpoint
\r
350 <sup>bar </sup>baz</em> would be of roughly the same length. Finding the change
\r
351 which introduces a regression is thus reduced to a binary search:
\r
352 repeatedly generate and test new 'midpoint's until the commit chain
\r
361 Limit the number of commits output.
\r
365 --max-age=timestamp, --min-age=timestamp
\r
369 Limit the commits output to specified time range.
\r
377 When optional paths are given, the command outputs only
\r
378 the commits that changes at least one of them, and also
\r
379 ignores merges that do not touch the given paths. This
\r
380 flag makes the command output all eligible commits
\r
381 (still subject to count and age limitation), but apply
\r
382 merge simplification nevertheless.
\r
390 Pretend as if all the refs in <tt>$GIT_DIR/refs/</tt> are
\r
391 listed on the command line as <commit>.
\r
399 By default, the commits are shown in reverse
\r
400 chronological order. This option makes them appear in
\r
401 topological order (i.e. descendant commits are shown
\r
402 before their parents).
\r
410 When specified the commit history is decomposed into a unique
\r
411 sequence of minimal, non-linear epochs and maximal, linear epochs.
\r
412 Non-linear epochs are then linearised by sorting them into merge
\r
413 order, which is described below.
\r
415 <p>Maximal, linear epochs correspond to periods of sequential development.
\r
416 Minimal, non-linear epochs correspond to periods of divergent development
\r
417 followed by a converging merge. The theory of epochs is described in more
\r
419 <a href="http://blackcubes.dyndns.org/epoch/">http://blackcubes.dyndns.org/epoch/</a>.</p>
\r
420 <p>The merge order for a non-linear epoch is defined as a linearisation for which
\r
421 the following invariants are true:</p>
\r
425 if a commit P is reachable from commit N, commit P sorts after commit N
\r
426 in the linearised list.
\r
431 if Pi and Pj are any two parents of a merge M (with i < j), then any
\r
432 commit N, such that N is reachable from Pj but not reachable from Pi,
\r
433 sorts before all commits reachable from Pi.
\r
435 <p>Invariant 1 states that later commits appear before earlier commits they are
\r
437 <p>Invariant 2 states that commits unique to "later" parents in a merge, appear
\r
438 before all commits from "earlier" parents of a merge.</p>
\r
447 Each item of the list is output with a 2-character prefix consisting
\r
448 of one of: (|), (^), (=) followed by a space.
\r
450 <p>Commits marked with (=) represent the boundaries of minimal, non-linear epochs
\r
451 and correspond either to the start of a period of divergent development or to
\r
452 the end of such a period.</p>
\r
453 <p>Commits marked with (|) are direct parents of commits immediately preceding
\r
454 the marked commit in the list.</p>
\r
455 <p>Commits marked with (^) are not parents of the immediately preceding commit.
\r
456 These "breaks" represent necessary discontinuities implied by trying to
\r
457 represent an arbitrary DAG in a linear form.</p>
\r
458 <p><tt>--show-breaks</tt> is only valid if <tt>--merge-order</tt> is also specified.</p>
\r
463 <div class="sectionbody">
\r
464 <p>Written by Linus Torvalds <torvalds@osdl.org></p>
\r
465 <p>Original <strong>--merge-order</strong> logic by Jon Seymour <jon.seymour@gmail.com></p>
\r
467 <h2>Documentation</h2>
\r
468 <div class="sectionbody">
\r
469 <p>Documentation by David Greaves, Junio C Hamano and the git-list <git@vger.kernel.org>.</p>
\r
472 <div class="sectionbody">
\r
473 <p>Part of the <a href="git.html">git(7)</a> suite</p>
\r
476 <div id="footer-text">
\r
477 Last updated 06-Jan-2006 17:12:43 PDT
\r