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