| Junio C Hamano | 1a4e841 | 2005-12-27 08:17:23 | [diff] [blame] | 1 | git-rev-list(1) |
| 2 | =============== |
| 3 | |
| 4 | NAME |
| 5 | ---- |
| 6 | git-rev-list - Lists commit objects in reverse chronological order |
| 7 | |
| 8 | |
| 9 | SYNOPSIS |
| 10 | -------- |
| Junio C Hamano | 235a91e | 2006-01-07 01:13:58 | [diff] [blame] | 11 | [verse] |
| Junio C Hamano | 1a4e841 | 2005-12-27 08:17:23 | [diff] [blame] | 12 | 'git-rev-list' [ \--max-count=number ] |
| Junio C Hamano | 17bbaca | 2006-12-25 11:36:31 | [diff] [blame] | 13 | [ \--skip=number ] |
| Junio C Hamano | 235a91e | 2006-01-07 01:13:58 | [diff] [blame] | 14 | [ \--max-age=timestamp ] |
| 15 | [ \--min-age=timestamp ] |
| 16 | [ \--sparse ] |
| 17 | [ \--no-merges ] |
| Junio C Hamano | 9be1897 | 2006-01-28 08:54:57 | [diff] [blame] | 18 | [ \--remove-empty ] |
| Junio C Hamano | ee695f2 | 2007-06-21 00:35:36 | [diff] [blame] | 19 | [ \--full-history ] |
| Junio C Hamano | 872c568 | 2006-07-07 06:05:40 | [diff] [blame] | 20 | [ \--not ] |
| Junio C Hamano | 235a91e | 2006-01-07 01:13:58 | [diff] [blame] | 21 | [ \--all ] |
| Junio C Hamano | c9245d9 | 2006-09-06 09:35:46 | [diff] [blame] | 22 | [ \--stdin ] |
| Junio C Hamano | decf50e | 2006-03-05 10:51:14 | [diff] [blame] | 23 | [ \--topo-order ] |
| Junio C Hamano | 235a91e | 2006-01-07 01:13:58 | [diff] [blame] | 24 | [ \--parents ] |
| Junio C Hamano | ee695f2 | 2007-06-21 00:35:36 | [diff] [blame] | 25 | [ \--timestamp ] |
| Junio C Hamano | 5678d69 | 2007-04-06 00:51:43 | [diff] [blame] | 26 | [ \--left-right ] |
| Junio C Hamano | d9e0e5d | 2007-04-14 16:22:04 | [diff] [blame] | 27 | [ \--cherry-pick ] |
| Junio C Hamano | 775a0f4 | 2006-12-31 01:19:14 | [diff] [blame] | 28 | [ \--encoding[=<encoding>] ] |
| Junio C Hamano | 47c1e3c | 2006-09-25 04:45:55 | [diff] [blame] | 29 | [ \--(author|committer|grep)=<pattern> ] |
| Junio C Hamano | de9879a | 2007-07-22 09:33:42 | [diff] [blame^] | 30 | [ \--regexp-ignore-case | \-i ] |
| 31 | [ \--extended-regexp | \-E ] |
| Junio C Hamano | 02f130b | 2007-07-14 08:26:56 | [diff] [blame] | 32 | [ \--date={local|relative|default|iso|rfc|short} ] |
| Junio C Hamano | 5f32776 | 2006-03-02 09:14:51 | [diff] [blame] | 33 | [ [\--objects | \--objects-edge] [ \--unpacked ] ] |
| Junio C Hamano | 235a91e | 2006-01-07 01:13:58 | [diff] [blame] | 34 | [ \--pretty | \--header ] |
| 35 | [ \--bisect ] |
| Junio C Hamano | 20f64da | 2007-04-04 18:38:30 | [diff] [blame] | 36 | [ \--bisect-vars ] |
| Junio C Hamano | 859f3b4 | 2006-08-04 10:04:30 | [diff] [blame] | 37 | [ \--merge ] |
| Junio C Hamano | 053827f | 2007-02-14 07:23:58 | [diff] [blame] | 38 | [ \--reverse ] |
| Junio C Hamano | db450ba | 2007-01-21 08:57:14 | [diff] [blame] | 39 | [ \--walk-reflogs ] |
| Junio C Hamano | 235a91e | 2006-01-07 01:13:58 | [diff] [blame] | 40 | <commit>... [ \-- <paths>... ] |
| Junio C Hamano | 1a4e841 | 2005-12-27 08:17:23 | [diff] [blame] | 41 | |
| 42 | DESCRIPTION |
| 43 | ----------- |
| Junio C Hamano | 89e135d | 2006-09-03 06:18:25 | [diff] [blame] | 44 | |
| Junio C Hamano | 1a4e841 | 2005-12-27 08:17:23 | [diff] [blame] | 45 | Lists commit objects in reverse chronological order starting at the |
| 46 | given commit(s), taking ancestry relationship into account. This is |
| 47 | useful to produce human-readable log output. |
| 48 | |
| Junio C Hamano | 89e135d | 2006-09-03 06:18:25 | [diff] [blame] | 49 | Commits which are stated with a preceding '{caret}' cause listing to |
| 50 | stop at that point. Their parents are implied. Thus the following |
| 51 | command: |
| 52 | |
| 53 | ----------------------------------------------------------------------- |
| 54 | $ git-rev-list foo bar ^baz |
| 55 | ----------------------------------------------------------------------- |
| 56 | |
| Junio C Hamano | 1a4e841 | 2005-12-27 08:17:23 | [diff] [blame] | 57 | means "list all the commits which are included in 'foo' and 'bar', but |
| 58 | not in 'baz'". |
| 59 | |
| Junio C Hamano | 89e135d | 2006-09-03 06:18:25 | [diff] [blame] | 60 | A special notation "'<commit1>'..'<commit2>'" can be used as a |
| 61 | short-hand for "{caret}'<commit1>' '<commit2>'". For example, either of |
| 62 | the following may be used interchangeably: |
| Junio C Hamano | 1a4e841 | 2005-12-27 08:17:23 | [diff] [blame] | 63 | |
| Junio C Hamano | 89e135d | 2006-09-03 06:18:25 | [diff] [blame] | 64 | ----------------------------------------------------------------------- |
| 65 | $ git-rev-list origin..HEAD |
| 66 | $ git-rev-list HEAD ^origin |
| 67 | ----------------------------------------------------------------------- |
| 68 | |
| 69 | Another special notation is "'<commit1>'...'<commit2>'" which is useful |
| 70 | for merges. The resulting set of commits is the symmetric difference |
| Junio C Hamano | 872c568 | 2006-07-07 06:05:40 | [diff] [blame] | 71 | between the two operands. The following two commands are equivalent: |
| 72 | |
| Junio C Hamano | 89e135d | 2006-09-03 06:18:25 | [diff] [blame] | 73 | ----------------------------------------------------------------------- |
| 74 | $ git-rev-list A B --not $(git-merge-base --all A B) |
| 75 | $ git-rev-list A...B |
| 76 | ----------------------------------------------------------------------- |
| 77 | |
| 78 | gitlink:git-rev-list[1] is a very essential git program, since it |
| 79 | provides the ability to build and traverse commit ancestry graphs. For |
| 80 | this reason, it has a lot of different options that enables it to be |
| 81 | used by commands as different as gitlink:git-bisect[1] and |
| 82 | gitlink:git-repack[1]. |
| Junio C Hamano | 1a4e841 | 2005-12-27 08:17:23 | [diff] [blame] | 83 | |
| 84 | OPTIONS |
| 85 | ------- |
| Junio C Hamano | 89e135d | 2006-09-03 06:18:25 | [diff] [blame] | 86 | |
| 87 | Commit Formatting |
| 88 | ~~~~~~~~~~~~~~~~~ |
| 89 | |
| 90 | Using these options, gitlink:git-rev-list[1] will act similar to the |
| 91 | more specialized family of commit log tools: gitlink:git-log[1], |
| 92 | gitlink:git-show[1], and gitlink:git-whatchanged[1] |
| 93 | |
| Junio C Hamano | 0430e3a | 2007-05-15 03:13:17 | [diff] [blame] | 94 | include::pretty-options.txt[] |
| Junio C Hamano | 89e135d | 2006-09-03 06:18:25 | [diff] [blame] | 95 | |
| 96 | --relative-date:: |
| 97 | |
| Junio C Hamano | 45889b4 | 2007-04-26 07:20:04 | [diff] [blame] | 98 | Synonym for `--date=relative`. |
| 99 | |
| Junio C Hamano | 02f130b | 2007-07-14 08:26:56 | [diff] [blame] | 100 | --date={relative,local,default,iso,rfc}:: |
| Junio C Hamano | 45889b4 | 2007-04-26 07:20:04 | [diff] [blame] | 101 | |
| Junio C Hamano | 89e135d | 2006-09-03 06:18:25 | [diff] [blame] | 102 | Only takes effect for dates shown in human-readable format, such |
| 103 | as when using "--pretty". |
| Junio C Hamano | 45889b4 | 2007-04-26 07:20:04 | [diff] [blame] | 104 | + |
| 105 | `--date=relative` shows dates relative to the current time, |
| 106 | e.g. "2 hours ago". |
| 107 | + |
| 108 | `--date=local` shows timestamps in user's local timezone. |
| 109 | + |
| Junio C Hamano | 02f130b | 2007-07-14 08:26:56 | [diff] [blame] | 110 | `--date=iso` (or `--date=iso8601`) shows timestamps in ISO 8601 format. |
| 111 | + |
| 112 | `--date=rfc` (or `--date=rfc2822`) shows timestamps in RFC 2822 |
| 113 | format, often found in E-mail messages. |
| 114 | + |
| 115 | `--date=short` shows only date but not time, in `YYYY-MM-DD` fomat. |
| 116 | + |
| Junio C Hamano | 45889b4 | 2007-04-26 07:20:04 | [diff] [blame] | 117 | `--date=default` shows timestamps in the original timezone |
| 118 | (either committer's or author's). |
| Junio C Hamano | 1a4e841 | 2005-12-27 08:17:23 | [diff] [blame] | 119 | |
| 120 | --header:: |
| Junio C Hamano | 89e135d | 2006-09-03 06:18:25 | [diff] [blame] | 121 | |
| 122 | Print the contents of the commit in raw-format; each record is |
| 123 | separated with a NUL character. |
| Junio C Hamano | 1a4e841 | 2005-12-27 08:17:23 | [diff] [blame] | 124 | |
| Junio C Hamano | 7ccb9fd | 2006-07-15 01:38:40 | [diff] [blame] | 125 | --parents:: |
| Junio C Hamano | 89e135d | 2006-09-03 06:18:25 | [diff] [blame] | 126 | |
| Junio C Hamano | 7ccb9fd | 2006-07-15 01:38:40 | [diff] [blame] | 127 | Print the parents of the commit. |
| 128 | |
| Junio C Hamano | ee695f2 | 2007-06-21 00:35:36 | [diff] [blame] | 129 | --timestamp:: |
| 130 | Print the raw commit timestamp. |
| 131 | |
| Junio C Hamano | 5678d69 | 2007-04-06 00:51:43 | [diff] [blame] | 132 | --left-right:: |
| 133 | |
| 134 | Mark which side of a symmetric diff a commit is reachable from. |
| 135 | Commits from the left side are prefixed with `<` and those from |
| 136 | the right with `>`. If combined with `--boundary`, those |
| 137 | commits are prefixed with `-`. |
| 138 | + |
| 139 | For example, if you have this topology: |
| 140 | + |
| 141 | ----------------------------------------------------------------------- |
| 142 | y---b---b branch B |
| 143 | / \ / |
| 144 | / . |
| 145 | / / \ |
| 146 | o---x---a---a branch A |
| 147 | ----------------------------------------------------------------------- |
| 148 | + |
| 149 | you would get an output line this: |
| 150 | + |
| 151 | ----------------------------------------------------------------------- |
| 152 | $ git rev-list --left-right --boundary --pretty=oneline A...B |
| 153 | |
| 154 | >bbbbbbb... 3rd on b |
| 155 | >bbbbbbb... 2nd on b |
| 156 | <aaaaaaa... 3rd on a |
| 157 | <aaaaaaa... 2nd on a |
| 158 | -yyyyyyy... 1st on b |
| 159 | -xxxxxxx... 1st on a |
| 160 | ----------------------------------------------------------------------- |
| 161 | |
| Junio C Hamano | 89e135d | 2006-09-03 06:18:25 | [diff] [blame] | 162 | Diff Formatting |
| 163 | ~~~~~~~~~~~~~~~ |
| Junio C Hamano | 1a4e841 | 2005-12-27 08:17:23 | [diff] [blame] | 164 | |
| Junio C Hamano | 89e135d | 2006-09-03 06:18:25 | [diff] [blame] | 165 | Below are listed options that control the formatting of diff output. |
| 166 | Some of them are specific to gitlink:git-rev-list[1], however other diff |
| 167 | options may be given. See gitlink:git-diff-files[1] for more options. |
| Junio C Hamano | 5f32776 | 2006-03-02 09:14:51 | [diff] [blame] | 168 | |
| Junio C Hamano | 89e135d | 2006-09-03 06:18:25 | [diff] [blame] | 169 | -c:: |
| Junio C Hamano | 1a4e841 | 2005-12-27 08:17:23 | [diff] [blame] | 170 | |
| Junio C Hamano | 89e135d | 2006-09-03 06:18:25 | [diff] [blame] | 171 | This flag changes the way a merge commit is displayed. It shows |
| 172 | the differences from each of the parents to the merge result |
| 173 | simultaneously instead of showing pairwise diff between a parent |
| 174 | and the result one at a time. Furthermore, it lists only files |
| 175 | which were modified from all parents. |
| Junio C Hamano | 1a4e841 | 2005-12-27 08:17:23 | [diff] [blame] | 176 | |
| Junio C Hamano | 89e135d | 2006-09-03 06:18:25 | [diff] [blame] | 177 | --cc:: |
| 178 | |
| 179 | This flag implies the '-c' options and further compresses the |
| 180 | patch output by omitting hunks that show differences from only |
| 181 | one parent, or show the same change from all but one parent for |
| 182 | an Octopus merge. |
| 183 | |
| 184 | -r:: |
| 185 | |
| 186 | Show recursive diffs. |
| 187 | |
| 188 | -t:: |
| 189 | |
| 190 | Show the tree objects in the diff output. This implies '-r'. |
| 191 | |
| 192 | Commit Limiting |
| 193 | ~~~~~~~~~~~~~~~ |
| 194 | |
| 195 | Besides specifying a range of commits that should be listed using the |
| 196 | special notations explained in the description, additional commit |
| 197 | limiting may be applied. |
| 198 | |
| 199 | -- |
| 200 | |
| 201 | -n 'number', --max-count='number':: |
| 202 | |
| Junio C Hamano | 1a4e841 | 2005-12-27 08:17:23 | [diff] [blame] | 203 | Limit the number of commits output. |
| 204 | |
| Junio C Hamano | 17bbaca | 2006-12-25 11:36:31 | [diff] [blame] | 205 | --skip='number':: |
| 206 | |
| 207 | Skip 'number' commits before starting to show the commit output. |
| 208 | |
| Junio C Hamano | 89e135d | 2006-09-03 06:18:25 | [diff] [blame] | 209 | --since='date', --after='date':: |
| 210 | |
| 211 | Show commits more recent than a specific date. |
| 212 | |
| 213 | --until='date', --before='date':: |
| 214 | |
| 215 | Show commits older than a specific date. |
| 216 | |
| 217 | --max-age='timestamp', --min-age='timestamp':: |
| 218 | |
| Junio C Hamano | 1a4e841 | 2005-12-27 08:17:23 | [diff] [blame] | 219 | Limit the commits output to specified time range. |
| 220 | |
| Junio C Hamano | 47c1e3c | 2006-09-25 04:45:55 | [diff] [blame] | 221 | --author='pattern', --committer='pattern':: |
| 222 | |
| 223 | Limit the commits output to ones with author/committer |
| Junio C Hamano | 75485c8 | 2007-05-19 04:20:33 | [diff] [blame] | 224 | header lines that match the specified pattern (regular expression). |
| Junio C Hamano | 47c1e3c | 2006-09-25 04:45:55 | [diff] [blame] | 225 | |
| 226 | --grep='pattern':: |
| 227 | |
| 228 | Limit the commits output to ones with log message that |
| Junio C Hamano | 75485c8 | 2007-05-19 04:20:33 | [diff] [blame] | 229 | matches the specified pattern (regular expression). |
| Junio C Hamano | 47c1e3c | 2006-09-25 04:45:55 | [diff] [blame] | 230 | |
| Junio C Hamano | de9879a | 2007-07-22 09:33:42 | [diff] [blame^] | 231 | -i, --regexp-ignore-case:: |
| Junio C Hamano | a5c02c5 | 2007-05-21 06:14:27 | [diff] [blame] | 232 | |
| 233 | Match the regexp limiting patterns without regard to letters case. |
| 234 | |
| Junio C Hamano | de9879a | 2007-07-22 09:33:42 | [diff] [blame^] | 235 | -E, --extended-regexp:: |
| Junio C Hamano | a5c02c5 | 2007-05-21 06:14:27 | [diff] [blame] | 236 | |
| 237 | Consider the limiting patterns to be extended regular expressions |
| 238 | instead of the default basic regular expressions. |
| 239 | |
| Junio C Hamano | 9be1897 | 2006-01-28 08:54:57 | [diff] [blame] | 240 | --remove-empty:: |
| Junio C Hamano | 89e135d | 2006-09-03 06:18:25 | [diff] [blame] | 241 | |
| Junio C Hamano | 9be1897 | 2006-01-28 08:54:57 | [diff] [blame] | 242 | Stop when a given path disappears from the tree. |
| 243 | |
| Junio C Hamano | ee695f2 | 2007-06-21 00:35:36 | [diff] [blame] | 244 | --full-history:: |
| 245 | |
| 246 | Show also parts of history irrelevant to current state of a given |
| 247 | path. This turns off history simplification, which removed merges |
| 248 | which didn't change anything at all at some child. It will still actually |
| 249 | simplify away merges that didn't change anything at all into either |
| 250 | child. |
| 251 | |
| Junio C Hamano | 7ccb9fd | 2006-07-15 01:38:40 | [diff] [blame] | 252 | --no-merges:: |
| Junio C Hamano | 89e135d | 2006-09-03 06:18:25 | [diff] [blame] | 253 | |
| Junio C Hamano | 7ccb9fd | 2006-07-15 01:38:40 | [diff] [blame] | 254 | Do not print commits with more than one parent. |
| 255 | |
| Junio C Hamano | 872c568 | 2006-07-07 06:05:40 | [diff] [blame] | 256 | --not:: |
| Junio C Hamano | 89e135d | 2006-09-03 06:18:25 | [diff] [blame] | 257 | |
| 258 | Reverses the meaning of the '{caret}' prefix (or lack thereof) |
| 259 | for all following revision specifiers, up to the next '--not'. |
| Junio C Hamano | 872c568 | 2006-07-07 06:05:40 | [diff] [blame] | 260 | |
| Junio C Hamano | 1a4e841 | 2005-12-27 08:17:23 | [diff] [blame] | 261 | --all:: |
| Junio C Hamano | 1a4e841 | 2005-12-27 08:17:23 | [diff] [blame] | 262 | |
| Junio C Hamano | 89e135d | 2006-09-03 06:18:25 | [diff] [blame] | 263 | Pretend as if all the refs in `$GIT_DIR/refs/` are listed on the |
| 264 | command line as '<commit>'. |
| Junio C Hamano | 1a4e841 | 2005-12-27 08:17:23 | [diff] [blame] | 265 | |
| Junio C Hamano | c9245d9 | 2006-09-06 09:35:46 | [diff] [blame] | 266 | --stdin:: |
| 267 | |
| 268 | In addition to the '<commit>' listed on the command |
| 269 | line, read them from the standard input. |
| 270 | |
| Junio C Hamano | d9e0e5d | 2007-04-14 16:22:04 | [diff] [blame] | 271 | --cherry-pick:: |
| 272 | |
| 273 | Omit any commit that introduces the same change as |
| 274 | another commit on the "other side" when the set of |
| 275 | commits are limited with symmetric difference. |
| 276 | + |
| 277 | For example, if you have two branches, `A` and `B`, a usual way |
| 278 | to list all commits on only one side of them is with |
| 279 | `--left-right`, like the example above in the description of |
| 280 | that option. It however shows the commits that were cherry-picked |
| 281 | from the other branch (for example, "3rd on b" may be cherry-picked |
| 282 | from branch A). With this option, such pairs of commits are |
| 283 | excluded from the output. |
| 284 | |
| Junio C Hamano | fa0d4cf | 2007-01-25 02:23:58 | [diff] [blame] | 285 | -g, --walk-reflogs:: |
| Junio C Hamano | db450ba | 2007-01-21 08:57:14 | [diff] [blame] | 286 | |
| 287 | Instead of walking the commit ancestry chain, walk |
| 288 | reflog entries from the most recent one to older ones. |
| 289 | When this option is used you cannot specify commits to |
| 290 | exclude (that is, '{caret}commit', 'commit1..commit2', |
| 291 | nor 'commit1...commit2' notations cannot be used). |
| 292 | + |
| 293 | With '\--pretty' format other than oneline (for obvious reasons), |
| 294 | this causes the output to have two extra lines of information |
| Junio C Hamano | 1d90cb0 | 2007-07-03 07:05:31 | [diff] [blame] | 295 | taken from the reflog. By default, 'commit@\{Nth}' notation is |
| Junio C Hamano | db450ba | 2007-01-21 08:57:14 | [diff] [blame] | 296 | used in the output. When the starting commit is specified as |
| Junio C Hamano | 1d90cb0 | 2007-07-03 07:05:31 | [diff] [blame] | 297 | 'commit@{now}', output also uses 'commit@\{timestamp}' notation |
| Junio C Hamano | db450ba | 2007-01-21 08:57:14 | [diff] [blame] | 298 | instead. Under '\--pretty=oneline', the commit message is |
| 299 | prefixed with this information on the same line. |
| 300 | |
| Junio C Hamano | 859f3b4 | 2006-08-04 10:04:30 | [diff] [blame] | 301 | --merge:: |
| Junio C Hamano | 89e135d | 2006-09-03 06:18:25 | [diff] [blame] | 302 | |
| Junio C Hamano | 859f3b4 | 2006-08-04 10:04:30 | [diff] [blame] | 303 | After a failed merge, show refs that touch files having a |
| 304 | conflict and don't exist on all heads to merge. |
| 305 | |
| Junio C Hamano | 89e135d | 2006-09-03 06:18:25 | [diff] [blame] | 306 | --boundary:: |
| 307 | |
| 308 | Output uninteresting commits at the boundary, which are usually |
| 309 | not shown. |
| 310 | |
| 311 | --dense, --sparse:: |
| 312 | |
| 313 | When optional paths are given, the default behaviour ('--dense') is to |
| 314 | only output commits that changes at least one of them, and also ignore |
| 315 | merges that do not touch the given paths. |
| 316 | |
| 317 | Use the '--sparse' flag to makes the command output all eligible commits |
| 318 | (still subject to count and age limitation), but apply merge |
| 319 | simplification nevertheless. |
| 320 | |
| 321 | --bisect:: |
| 322 | |
| 323 | Limit output to the one commit object which is roughly halfway between |
| 324 | the included and excluded commits. Thus, if |
| 325 | |
| 326 | ----------------------------------------------------------------------- |
| 327 | $ git-rev-list --bisect foo ^bar ^baz |
| 328 | ----------------------------------------------------------------------- |
| 329 | |
| 330 | outputs 'midpoint', the output of the two commands |
| 331 | |
| 332 | ----------------------------------------------------------------------- |
| 333 | $ git-rev-list foo ^midpoint |
| 334 | $ git-rev-list midpoint ^bar ^baz |
| 335 | ----------------------------------------------------------------------- |
| 336 | |
| 337 | would be of roughly the same length. Finding the change which |
| 338 | introduces a regression is thus reduced to a binary search: repeatedly |
| 339 | generate and test new 'midpoint's until the commit chain is of length |
| 340 | one. |
| 341 | |
| Junio C Hamano | 20f64da | 2007-04-04 18:38:30 | [diff] [blame] | 342 | --bisect-vars:: |
| 343 | |
| 344 | This calculates the same as `--bisect`, but outputs text ready |
| 345 | to be eval'ed by the shell. These lines will assign the name of |
| 346 | the midpoint revision to the variable `bisect_rev`, and the |
| 347 | expected number of commits to be tested after `bisect_rev` is |
| 348 | tested to `bisect_nr`, the expected number of commits to be |
| 349 | tested if `bisect_rev` turns out to be good to `bisect_good`, |
| 350 | the expected number of commits to be tested if `bisect_rev` |
| 351 | turns out to be bad to `bisect_bad`, and the number of commits |
| 352 | we are bisecting right now to `bisect_all`. |
| 353 | |
| Junio C Hamano | 89e135d | 2006-09-03 06:18:25 | [diff] [blame] | 354 | -- |
| 355 | |
| 356 | Commit Ordering |
| 357 | ~~~~~~~~~~~~~~~ |
| 358 | |
| 359 | By default, the commits are shown in reverse chronological order. |
| 360 | |
| 361 | --topo-order:: |
| 362 | |
| 363 | This option makes them appear in topological order (i.e. |
| 364 | descendant commits are shown before their parents). |
| 365 | |
| 366 | --date-order:: |
| 367 | |
| 368 | This option is similar to '--topo-order' in the sense that no |
| 369 | parent comes before all of its children, but otherwise things |
| 370 | are still ordered in the commit timestamp order. |
| 371 | |
| Junio C Hamano | 053827f | 2007-02-14 07:23:58 | [diff] [blame] | 372 | --reverse:: |
| 373 | |
| 374 | Output the commits in reverse order. |
| 375 | |
| Junio C Hamano | 89e135d | 2006-09-03 06:18:25 | [diff] [blame] | 376 | Object Traversal |
| 377 | ~~~~~~~~~~~~~~~~ |
| 378 | |
| 379 | These options are mostly targeted for packing of git repositories. |
| 380 | |
| 381 | --objects:: |
| 382 | |
| 383 | Print the object IDs of any object referenced by the listed |
| 384 | commits. 'git-rev-list --objects foo ^bar' thus means "send me |
| 385 | all object IDs which I need to download if I have the commit |
| 386 | object 'bar', but not 'foo'". |
| 387 | |
| 388 | --objects-edge:: |
| 389 | |
| 390 | Similar to '--objects', but also print the IDs of excluded |
| 391 | commits prefixed with a "-" character. This is used by |
| 392 | gitlink:git-pack-objects[1] to build "thin" pack, which records |
| 393 | objects in deltified form based on objects contained in these |
| 394 | excluded commits to reduce network traffic. |
| 395 | |
| 396 | --unpacked:: |
| 397 | |
| 398 | Only useful with '--objects'; print the object IDs that are not |
| 399 | in packs. |
| Junio C Hamano | a0778c9 | 2006-08-29 04:03:11 | [diff] [blame] | 400 | |
| Junio C Hamano | 0430e3a | 2007-05-15 03:13:17 | [diff] [blame] | 401 | |
| 402 | include::pretty-formats.txt[] |
| 403 | |
| 404 | |
| Junio C Hamano | 1a4e841 | 2005-12-27 08:17:23 | [diff] [blame] | 405 | Author |
| 406 | ------ |
| 407 | Written by Linus Torvalds <torvalds@osdl.org> |
| 408 | |
| Junio C Hamano | 1a4e841 | 2005-12-27 08:17:23 | [diff] [blame] | 409 | Documentation |
| 410 | -------------- |
| Junio C Hamano | 89e135d | 2006-09-03 06:18:25 | [diff] [blame] | 411 | Documentation by David Greaves, Junio C Hamano, Jonas Fonseca |
| 412 | and the git-list <git@vger.kernel.org>. |
| Junio C Hamano | 1a4e841 | 2005-12-27 08:17:23 | [diff] [blame] | 413 | |
| 414 | GIT |
| 415 | --- |
| 416 | Part of the gitlink:git[7] suite |