Include rev-list options in git-log manpage.
Replace the "This manual page describes only the most frequently used options." text with the list of rev-list options in git-log manpage. (The git-diff-tree options are already included.) Move these options to a separate file and include it from both git-rev-list.txt and git-log.txt. Signed-off-by: Miklos Vajna <vmiklos@frugalware.org> Signed-off-by: Junio C Hamano <gitster@pobox.com>
Miklos Vajna committed
Jan 18, 2008 at 23:58 UTC
fdcf39e59b98536d2d65b26a59925dc1dea421d4
3 files changed
+365
-376
Documentation/git-log.txt
+2
-19
@@ -19,14 +19,10 @@ command to control what is shown and how, and options applicable to
19
the linkgit:git-diff-tree[1] commands to control how the changes
20
each commit introduces are shown.
21
22
-This manual page describes only the most frequently used options.
23
-
22
23
OPTIONS
24
-------
25
28
-include::pretty-options.txt[]
29
-
26
:git-log: 1
27
include::diff-options.txt[]
28
@@ -41,21 +37,6 @@ include::diff-options.txt[]
37
and <until>, see "SPECIFYING REVISIONS" section in
38
linkgit:git-rev-parse[1].
39
44
---first-parent::
45
- Follow only the first parent commit upon seeing a merge
46
- commit. This option can give a better overview when
47
- viewing the evolution of a particular topic branch,
48
- because merges into a topic branch tend to be only about
49
- adjusting to updated upstream from time to time, and
50
- this option allows you to ignore the individual commits
51
- brought in to your history by such a merge.
52
-
53
--g, \--walk-reflogs::
54
- Show commits as they were recorded in the reflog. The log contains
55
- a record about how the tip of a reference was changed.
56
- Cannot be combined with --reverse.
57
- See also linkgit:git-reflog[1].
58
-
40
--decorate::
41
Print out the ref names of any commits that are shown.
42
@@ -80,6 +61,8 @@ include::diff-options.txt[]
61
Show only commits that affect the specified paths.
62
63
64
+include::rev-list-options.txt[]
65
+
66
include::pretty-formats.txt[]
67
68
include::diff-generate-patch.txt[]
Documentation/git-rev-list.txt
+2
-357
@@ -88,363 +88,8 @@ linkgit:git-repack[1].
88
OPTIONS
89
-------
90
91
-Commit Formatting
92
-~~~~~~~~~~~~~~~~~
93
-
94
-Using these options, linkgit:git-rev-list[1] will act similar to the
95
-more specialized family of commit log tools: linkgit:git-log[1],
96
-linkgit:git-show[1], and linkgit:git-whatchanged[1]
97
-
98
-include::pretty-options.txt[]
99
-
100
---relative-date::
101
-
102
- Synonym for `--date=relative`.
103
-
104
---date={relative,local,default,iso,rfc}::
105
-
106
- Only takes effect for dates shown in human-readable format, such
107
- as when using "--pretty".
108
-+
109
-`--date=relative` shows dates relative to the current time,
110
-e.g. "2 hours ago".
111
-+
112
-`--date=local` shows timestamps in user's local timezone.
113
-+
114
-`--date=iso` (or `--date=iso8601`) shows timestamps in ISO 8601 format.
115
-+
116
-`--date=rfc` (or `--date=rfc2822`) shows timestamps in RFC 2822
117
-format, often found in E-mail messages.
118
-+
119
-`--date=short` shows only date but not time, in `YYYY-MM-DD` format.
120
-+
121
-`--date=default` shows timestamps in the original timezone
122
-(either committer's or author's).
123
-
124
---header::
125
-
126
- Print the contents of the commit in raw-format; each record is
127
- separated with a NUL character.
128
-
129
---parents::
130
-
131
- Print the parents of the commit.
132
-
133
---timestamp::
134
- Print the raw commit timestamp.
135
-
136
---left-right::
137
-
138
- Mark which side of a symmetric diff a commit is reachable from.
139
- Commits from the left side are prefixed with `<` and those from
140
- the right with `>`. If combined with `--boundary`, those
141
- commits are prefixed with `-`.
142
-+
143
-For example, if you have this topology:
144
-+
145
------------------------------------------------------------------------
146
- y---b---b branch B
147
- / \ /
148
- / .
149
- / / \
150
- o---x---a---a branch A
151
------------------------------------------------------------------------
152
-+
153
-you would get an output line this:
154
-+
155
------------------------------------------------------------------------
156
- $ git rev-list --left-right --boundary --pretty=oneline A...B
157
-
158
- >bbbbbbb... 3rd on b
159
- >bbbbbbb... 2nd on b
160
- <aaaaaaa... 3rd on a
161
- <aaaaaaa... 2nd on a
162
- -yyyyyyy... 1st on b
163
- -xxxxxxx... 1st on a
164
------------------------------------------------------------------------
165
-
166
-Diff Formatting
167
-~~~~~~~~~~~~~~~
168
-
169
-Below are listed options that control the formatting of diff output.
170
-Some of them are specific to linkgit:git-rev-list[1], however other diff
171
-options may be given. See linkgit:git-diff-files[1] for more options.
172
-
173
--c::
174
-
175
- This flag changes the way a merge commit is displayed. It shows
176
- the differences from each of the parents to the merge result
177
- simultaneously instead of showing pairwise diff between a parent
178
- and the result one at a time. Furthermore, it lists only files
179
- which were modified from all parents.
180
-
181
---cc::
182
-
183
- This flag implies the '-c' options and further compresses the
184
- patch output by omitting hunks that show differences from only
185
- one parent, or show the same change from all but one parent for
186
- an Octopus merge.
187
-
188
--r::
189
-
190
- Show recursive diffs.
191
-
192
--t::
193
-
194
- Show the tree objects in the diff output. This implies '-r'.
195
-
196
-Commit Limiting
197
-~~~~~~~~~~~~~~~
198
-
199
-Besides specifying a range of commits that should be listed using the
200
-special notations explained in the description, additional commit
201
-limiting may be applied.
202
-
203
---
204
-
205
--n 'number', --max-count='number'::
206
-
207
- Limit the number of commits output.
208
-
209
---skip='number'::
210
-
211
- Skip 'number' commits before starting to show the commit output.
212
-
213
---since='date', --after='date'::
214
-
215
- Show commits more recent than a specific date.
216
-
217
---until='date', --before='date'::
218
-
219
- Show commits older than a specific date.
220
-
221
---max-age='timestamp', --min-age='timestamp'::
222
-
223
- Limit the commits output to specified time range.
224
-
225
---author='pattern', --committer='pattern'::
226
-
227
- Limit the commits output to ones with author/committer
228
- header lines that match the specified pattern (regular expression).
229
-
230
---grep='pattern'::
231
-
232
- Limit the commits output to ones with log message that
233
- matches the specified pattern (regular expression).
234
-
235
--i, --regexp-ignore-case::
236
-
237
- Match the regexp limiting patterns without regard to letters case.
238
-
239
--E, --extended-regexp::
240
-
241
- Consider the limiting patterns to be extended regular expressions
242
- instead of the default basic regular expressions.
243
-
244
---remove-empty::
245
-
246
- Stop when a given path disappears from the tree.
247
-
248
---full-history::
249
-
250
- Show also parts of history irrelevant to current state of a given
251
- path. This turns off history simplification, which removed merges
252
- which didn't change anything at all at some child. It will still actually
253
- simplify away merges that didn't change anything at all into either
254
- child.
255
-
256
---no-merges::
257
-
258
- Do not print commits with more than one parent.
259
-
260
---first-parent::
261
- Follow only the first parent commit upon seeing a merge
262
- commit. This option can give a better overview when
263
- viewing the evolution of a particular topic branch,
264
- because merges into a topic branch tend to be only about
265
- adjusting to updated upstream from time to time, and
266
- this option allows you to ignore the individual commits
267
- brought in to your history by such a merge.
268
-
269
---not::
270
-
271
- Reverses the meaning of the '{caret}' prefix (or lack thereof)
272
- for all following revision specifiers, up to the next '--not'.
273
-
274
---all::
275
-
276
- Pretend as if all the refs in `$GIT_DIR/refs/` are listed on the
277
- command line as '<commit>'.
278
-
279
---stdin::
280
-
281
- In addition to the '<commit>' listed on the command
282
- line, read them from the standard input.
283
-
284
---quiet::
285
-
286
- Don't print anything to standard output. This form of
287
- git-rev-list is primarily meant to allow the caller to
288
- test the exit status to see if a range of objects is fully
289
- connected (or not). It is faster than redirecting stdout
290
- to /dev/null as the output does not have to be formatted.
291
-
292
---cherry-pick::
293
-
294
- Omit any commit that introduces the same change as
295
- another commit on the "other side" when the set of
296
- commits are limited with symmetric difference.
297
-+
298
-For example, if you have two branches, `A` and `B`, a usual way
299
-to list all commits on only one side of them is with
300
-`--left-right`, like the example above in the description of
301
-that option. It however shows the commits that were cherry-picked
302
-from the other branch (for example, "3rd on b" may be cherry-picked
303
-from branch A). With this option, such pairs of commits are
304
-excluded from the output.
305
-
306
--g, --walk-reflogs::
307
-
308
- Instead of walking the commit ancestry chain, walk
309
- reflog entries from the most recent one to older ones.
310
- When this option is used you cannot specify commits to
311
- exclude (that is, '{caret}commit', 'commit1..commit2',
312
- nor 'commit1...commit2' notations cannot be used).
313
-+
314
-With '\--pretty' format other than oneline (for obvious reasons),
315
-this causes the output to have two extra lines of information
316
-taken from the reflog. By default, 'commit@\{Nth}' notation is
317
-used in the output. When the starting commit is specified as
318
-'commit@{now}', output also uses 'commit@\{timestamp}' notation
319
-instead. Under '\--pretty=oneline', the commit message is
320
-prefixed with this information on the same line.
321
-
322
-Cannot be combined with '\--reverse'.
323
-
324
---merge::
325
-
326
- After a failed merge, show refs that touch files having a
327
- conflict and don't exist on all heads to merge.
328
-
329
---boundary::
330
-
331
- Output uninteresting commits at the boundary, which are usually
332
- not shown.
333
-
334
---dense, --sparse::
335
-
336
-When optional paths are given, the default behaviour ('--dense') is to
337
-only output commits that changes at least one of them, and also ignore
338
-merges that do not touch the given paths.
339
-
340
-Use the '--sparse' flag to makes the command output all eligible commits
341
-(still subject to count and age limitation), but apply merge
342
-simplification nevertheless.
343
-
344
---bisect::
345
-
346
-Limit output to the one commit object which is roughly halfway between
347
-the included and excluded commits. Thus, if
348
-
349
------------------------------------------------------------------------
350
- $ git-rev-list --bisect foo ^bar ^baz
351
------------------------------------------------------------------------
352
-
353
-outputs 'midpoint', the output of the two commands
354
-
355
------------------------------------------------------------------------
356
- $ git-rev-list foo ^midpoint
357
- $ git-rev-list midpoint ^bar ^baz
358
------------------------------------------------------------------------
359
-
360
-would be of roughly the same length. Finding the change which
361
-introduces a regression is thus reduced to a binary search: repeatedly
362
-generate and test new 'midpoint's until the commit chain is of length
363
-one.
364
-
365
---bisect-vars::
366
-
367
-This calculates the same as `--bisect`, but outputs text ready
368
-to be eval'ed by the shell. These lines will assign the name of
369
-the midpoint revision to the variable `bisect_rev`, and the
370
-expected number of commits to be tested after `bisect_rev` is
371
-tested to `bisect_nr`, the expected number of commits to be
372
-tested if `bisect_rev` turns out to be good to `bisect_good`,
373
-the expected number of commits to be tested if `bisect_rev`
374
-turns out to be bad to `bisect_bad`, and the number of commits
375
-we are bisecting right now to `bisect_all`.
376
-
377
---bisect-all::
378
-
379
-This outputs all the commit objects between the included and excluded
380
-commits, ordered by their distance to the included and excluded
381
-commits. The farthest from them is displayed first. (This is the only
382
-one displayed by `--bisect`.)
383
-
384
-This is useful because it makes it easy to choose a good commit to
385
-test when you want to avoid to test some of them for some reason (they
386
-may not compile for example).
387
-
388
-This option can be used along with `--bisect-vars`, in this case,
389
-after all the sorted commit objects, there will be the same text as if
390
-`--bisect-vars` had been used alone.
391
-
392
---
393
-
394
-Commit Ordering
395
-~~~~~~~~~~~~~~~
396
-
397
-By default, the commits are shown in reverse chronological order.
398
-
399
---topo-order::
400
-
401
- This option makes them appear in topological order (i.e.
402
- descendant commits are shown before their parents).
403
-
404
---date-order::
405
-
406
- This option is similar to '--topo-order' in the sense that no
407
- parent comes before all of its children, but otherwise things
408
- are still ordered in the commit timestamp order.
409
-
410
---reverse::
411
-
412
- Output the commits in reverse order.
413
- Cannot be combined with '\--walk-reflogs'.
414
-
415
-Object Traversal
416
-~~~~~~~~~~~~~~~~
417
-
418
-These options are mostly targeted for packing of git repositories.
419
-
420
---objects::
421
-
422
- Print the object IDs of any object referenced by the listed
423
- commits. 'git-rev-list --objects foo ^bar' thus means "send me
424
- all object IDs which I need to download if I have the commit
425
- object 'bar', but not 'foo'".
426
-
427
---objects-edge::
428
-
429
- Similar to '--objects', but also print the IDs of excluded
430
- commits prefixed with a "-" character. This is used by
431
- linkgit:git-pack-objects[1] to build "thin" pack, which records
432
- objects in deltified form based on objects contained in these
433
- excluded commits to reduce network traffic.
434
-
435
---unpacked::
436
-
437
- Only useful with '--objects'; print the object IDs that are not
438
- in packs.
439
-
440
---no-walk::
441
-
442
- Only show the given revs, but do not traverse their ancestors.
443
-
444
---do-walk::
445
-
446
- Overrides a previous --no-walk.
447
-
91
+:git-rev-list: 1
92
+include::rev-list-options.txt[]
93
94
include::pretty-formats.txt[]
95
Documentation/rev-list-options.txt
new
+361
@@ -0,0 +1,361 @@
1
+Commit Formatting
2
+~~~~~~~~~~~~~~~~~
3
+
4
+ifdef::git-rev-list[]
5
+Using these options, linkgit:git-rev-list[1] will act similar to the
6
+more specialized family of commit log tools: linkgit:git-log[1],
7
+linkgit:git-show[1], and linkgit:git-whatchanged[1]
8
+endif::git-rev-list[]
9
+
10
+include::pretty-options.txt[]
11
+
12
+--relative-date::
13
+
14
+ Synonym for `--date=relative`.
15
+
16
+--date={relative,local,default,iso,rfc}::
17
+
18
+ Only takes effect for dates shown in human-readable format, such
19
+ as when using "--pretty".
20
++
21
+`--date=relative` shows dates relative to the current time,
22
+e.g. "2 hours ago".
23
++
24
+`--date=local` shows timestamps in user's local timezone.
25
++
26
+`--date=iso` (or `--date=iso8601`) shows timestamps in ISO 8601 format.
27
++
28
+`--date=rfc` (or `--date=rfc2822`) shows timestamps in RFC 2822
29
+format, often found in E-mail messages.
30
++
31
+`--date=short` shows only date but not time, in `YYYY-MM-DD` format.
32
++
33
+`--date=default` shows timestamps in the original timezone
34
+(either committer's or author's).
35
+
36
+--header::
37
+
38
+ Print the contents of the commit in raw-format; each record is
39
+ separated with a NUL character.
40
+
41
+--parents::
42
+
43
+ Print the parents of the commit.
44
+
45
+--timestamp::
46
+ Print the raw commit timestamp.
47
+
48
+--left-right::
49
+
50
+ Mark which side of a symmetric diff a commit is reachable from.
51
+ Commits from the left side are prefixed with `<` and those from
52
+ the right with `>`. If combined with `--boundary`, those
53
+ commits are prefixed with `-`.
54
++
55
+For example, if you have this topology:
56
++
57
+-----------------------------------------------------------------------
58
+ y---b---b branch B
59
+ / \ /
60
+ / .
61
+ / / \
62
+ o---x---a---a branch A
63
+-----------------------------------------------------------------------
64
++
65
+you would get an output line this:
66
++
67
+-----------------------------------------------------------------------
68
+ $ git rev-list --left-right --boundary --pretty=oneline A...B
69
+
70
+ >bbbbbbb... 3rd on b
71
+ >bbbbbbb... 2nd on b
72
+ <aaaaaaa... 3rd on a
73
+ <aaaaaaa... 2nd on a
74
+ -yyyyyyy... 1st on b
75
+ -xxxxxxx... 1st on a
76
+-----------------------------------------------------------------------
77
+
78
+Diff Formatting
79
+~~~~~~~~~~~~~~~
80
+
81
+Below are listed options that control the formatting of diff output.
82
+Some of them are specific to linkgit:git-rev-list[1], however other diff
83
+options may be given. See linkgit:git-diff-files[1] for more options.
84
+
85
+-c::
86
+
87
+ This flag changes the way a merge commit is displayed. It shows
88
+ the differences from each of the parents to the merge result
89
+ simultaneously instead of showing pairwise diff between a parent
90
+ and the result one at a time. Furthermore, it lists only files
91
+ which were modified from all parents.
92
+
93
+--cc::
94
+
95
+ This flag implies the '-c' options and further compresses the
96
+ patch output by omitting hunks that show differences from only
97
+ one parent, or show the same change from all but one parent for
98
+ an Octopus merge.
99
+
100
+-r::
101
+
102
+ Show recursive diffs.
103
+
104
+-t::
105
+
106
+ Show the tree objects in the diff output. This implies '-r'.
107
+
108
+Commit Limiting
109
+~~~~~~~~~~~~~~~
110
+
111
+Besides specifying a range of commits that should be listed using the
112
+special notations explained in the description, additional commit
113
+limiting may be applied.
114
+
115
+--
116
+
117
+-n 'number', --max-count='number'::
118
+
119
+ Limit the number of commits output.
120
+
121
+--skip='number'::
122
+
123
+ Skip 'number' commits before starting to show the commit output.
124
+
125
+--since='date', --after='date'::
126
+
127
+ Show commits more recent than a specific date.
128
+
129
+--until='date', --before='date'::
130
+
131
+ Show commits older than a specific date.
132
+
133
+--max-age='timestamp', --min-age='timestamp'::
134
+
135
+ Limit the commits output to specified time range.
136
+
137
+--author='pattern', --committer='pattern'::
138
+
139
+ Limit the commits output to ones with author/committer
140
+ header lines that match the specified pattern (regular expression).
141
+
142
+--grep='pattern'::
143
+
144
+ Limit the commits output to ones with log message that
145
+ matches the specified pattern (regular expression).
146
+
147
+-i, --regexp-ignore-case::
148
+
149
+ Match the regexp limiting patterns without regard to letters case.
150
+
151
+-E, --extended-regexp::
152
+
153
+ Consider the limiting patterns to be extended regular expressions
154
+ instead of the default basic regular expressions.
155
+
156
+--remove-empty::
157
+
158
+ Stop when a given path disappears from the tree.
159
+
160
+--full-history::
161
+
162
+ Show also parts of history irrelevant to current state of a given
163
+ path. This turns off history simplification, which removed merges
164
+ which didn't change anything at all at some child. It will still actually
165
+ simplify away merges that didn't change anything at all into either
166
+ child.
167
+
168
+--no-merges::
169
+
170
+ Do not print commits with more than one parent.
171
+
172
+--first-parent::
173
+ Follow only the first parent commit upon seeing a merge
174
+ commit. This option can give a better overview when
175
+ viewing the evolution of a particular topic branch,
176
+ because merges into a topic branch tend to be only about
177
+ adjusting to updated upstream from time to time, and
178
+ this option allows you to ignore the individual commits
179
+ brought in to your history by such a merge.
180
+
181
+--not::
182
+
183
+ Reverses the meaning of the '{caret}' prefix (or lack thereof)
184
+ for all following revision specifiers, up to the next '--not'.
185
+
186
+--all::
187
+
188
+ Pretend as if all the refs in `$GIT_DIR/refs/` are listed on the
189
+ command line as '<commit>'.
190
+
191
+--stdin::
192
+
193
+ In addition to the '<commit>' listed on the command
194
+ line, read them from the standard input.
195
+
196
+--quiet::
197
+
198
+ Don't print anything to standard output. This form
199
+ is primarily meant to allow the caller to
200
+ test the exit status to see if a range of objects is fully
201
+ connected (or not). It is faster than redirecting stdout
202
+ to /dev/null as the output does not have to be formatted.
203
+
204
+--cherry-pick::
205
+
206
+ Omit any commit that introduces the same change as
207
+ another commit on the "other side" when the set of
208
+ commits are limited with symmetric difference.
209
++
210
+For example, if you have two branches, `A` and `B`, a usual way
211
+to list all commits on only one side of them is with
212
+`--left-right`, like the example above in the description of
213
+that option. It however shows the commits that were cherry-picked
214
+from the other branch (for example, "3rd on b" may be cherry-picked
215
+from branch A). With this option, such pairs of commits are
216
+excluded from the output.
217
+
218
+-g, --walk-reflogs::
219
+
220
+ Instead of walking the commit ancestry chain, walk
221
+ reflog entries from the most recent one to older ones.
222
+ When this option is used you cannot specify commits to
223
+ exclude (that is, '{caret}commit', 'commit1..commit2',
224
+ nor 'commit1...commit2' notations cannot be used).
225
++
226
+With '\--pretty' format other than oneline (for obvious reasons),
227
+this causes the output to have two extra lines of information
228
+taken from the reflog. By default, 'commit@\{Nth}' notation is
229
+used in the output. When the starting commit is specified as
230
+'commit@{now}', output also uses 'commit@\{timestamp}' notation
231
+instead. Under '\--pretty=oneline', the commit message is
232
+prefixed with this information on the same line.
233
+
234
+Cannot be combined with '\--reverse'.
235
+See also linkgit:git-reflog[1].
236
+
237
+--merge::
238
+
239
+ After a failed merge, show refs that touch files having a
240
+ conflict and don't exist on all heads to merge.
241
+
242
+--boundary::
243
+
244
+ Output uninteresting commits at the boundary, which are usually
245
+ not shown.
246
+
247
+--dense, --sparse::
248
+
249
+When optional paths are given, the default behaviour ('--dense') is to
250
+only output commits that changes at least one of them, and also ignore
251
+merges that do not touch the given paths.
252
+
253
+Use the '--sparse' flag to makes the command output all eligible commits
254
+(still subject to count and age limitation), but apply merge
255
+simplification nevertheless.
256
+
257
+ifdef::git-rev-list[]
258
+--bisect::
259
+
260
+Limit output to the one commit object which is roughly halfway between
261
+the included and excluded commits. Thus, if
262
+
263
+-----------------------------------------------------------------------
264
+ $ git-rev-list --bisect foo ^bar ^baz
265
+-----------------------------------------------------------------------
266
+
267
+outputs 'midpoint', the output of the two commands
268
+
269
+-----------------------------------------------------------------------
270
+ $ git-rev-list foo ^midpoint
271
+ $ git-rev-list midpoint ^bar ^baz
272
+-----------------------------------------------------------------------
273
+
274
+would be of roughly the same length. Finding the change which
275
+introduces a regression is thus reduced to a binary search: repeatedly
276
+generate and test new 'midpoint's until the commit chain is of length
277
+one.
278
+
279
+--bisect-vars::
280
+
281
+This calculates the same as `--bisect`, but outputs text ready
282
+to be eval'ed by the shell. These lines will assign the name of
283
+the midpoint revision to the variable `bisect_rev`, and the
284
+expected number of commits to be tested after `bisect_rev` is
285
+tested to `bisect_nr`, the expected number of commits to be
286
+tested if `bisect_rev` turns out to be good to `bisect_good`,
287
+the expected number of commits to be tested if `bisect_rev`
288
+turns out to be bad to `bisect_bad`, and the number of commits
289
+we are bisecting right now to `bisect_all`.
290
+
291
+--bisect-all::
292
+
293
+This outputs all the commit objects between the included and excluded
294
+commits, ordered by their distance to the included and excluded
295
+commits. The farthest from them is displayed first. (This is the only
296
+one displayed by `--bisect`.)
297
+
298
+This is useful because it makes it easy to choose a good commit to
299
+test when you want to avoid to test some of them for some reason (they
300
+may not compile for example).
301
+
302
+This option can be used along with `--bisect-vars`, in this case,
303
+after all the sorted commit objects, there will be the same text as if
304
+`--bisect-vars` had been used alone.
305
+endif::git-rev-list[]
306
+
307
+--
308
+
309
+Commit Ordering
310
+~~~~~~~~~~~~~~~
311
+
312
+By default, the commits are shown in reverse chronological order.
313
+
314
+--topo-order::
315
+
316
+ This option makes them appear in topological order (i.e.
317
+ descendant commits are shown before their parents).
318
+
319
+--date-order::
320
+
321
+ This option is similar to '--topo-order' in the sense that no
322
+ parent comes before all of its children, but otherwise things
323
+ are still ordered in the commit timestamp order.
324
+
325
+--reverse::
326
+
327
+ Output the commits in reverse order.
328
+ Cannot be combined with '\--walk-reflogs'.
329
+
330
+Object Traversal
331
+~~~~~~~~~~~~~~~~
332
+
333
+These options are mostly targeted for packing of git repositories.
334
+
335
+--objects::
336
+
337
+ Print the object IDs of any object referenced by the listed
338
+ commits. '--objects foo ^bar' thus means "send me
339
+ all object IDs which I need to download if I have the commit
340
+ object 'bar', but not 'foo'".
341
+
342
+--objects-edge::
343
+
344
+ Similar to '--objects', but also print the IDs of excluded
345
+ commits prefixed with a "-" character. This is used by
346
+ linkgit:git-pack-objects[1] to build "thin" pack, which records
347
+ objects in deltified form based on objects contained in these
348
+ excluded commits to reduce network traffic.
349
+
350
+--unpacked::
351
+
352
+ Only useful with '--objects'; print the object IDs that are not
353
+ in packs.
354
+
355
+--no-walk::
356
+
357
+ Only show the given revs, but do not traverse their ancestors.
358
+
359
+--do-walk::
360
+
361
+ Overrides a previous --no-walk.