Merge branch 'jj/rev-list-options-doc'
Mark-up and grammo fixes. * jj/rev-list-options-doc: Documentation/rev-list-options.txt: fix some grammatical issues and typos Documentation/rev-list-options.txt: fix mark-up
This commit is contained in:
commit
a8cb37fb39
@ -18,33 +18,27 @@ ordering and formatting options, such as `--reverse`.
|
|||||||
-<number>::
|
-<number>::
|
||||||
-n <number>::
|
-n <number>::
|
||||||
--max-count=<number>::
|
--max-count=<number>::
|
||||||
|
|
||||||
Limit the number of commits to output.
|
Limit the number of commits to output.
|
||||||
|
|
||||||
--skip=<number>::
|
--skip=<number>::
|
||||||
|
|
||||||
Skip 'number' commits before starting to show the commit output.
|
Skip 'number' commits before starting to show the commit output.
|
||||||
|
|
||||||
--since=<date>::
|
--since=<date>::
|
||||||
--after=<date>::
|
--after=<date>::
|
||||||
|
|
||||||
Show commits more recent than a specific date.
|
Show commits more recent than a specific date.
|
||||||
|
|
||||||
--until=<date>::
|
--until=<date>::
|
||||||
--before=<date>::
|
--before=<date>::
|
||||||
|
|
||||||
Show commits older than a specific date.
|
Show commits older than a specific date.
|
||||||
|
|
||||||
ifdef::git-rev-list[]
|
ifdef::git-rev-list[]
|
||||||
--max-age=<timestamp>::
|
--max-age=<timestamp>::
|
||||||
--min-age=<timestamp>::
|
--min-age=<timestamp>::
|
||||||
|
|
||||||
Limit the commits output to specified time range.
|
Limit the commits output to specified time range.
|
||||||
endif::git-rev-list[]
|
endif::git-rev-list[]
|
||||||
|
|
||||||
--author=<pattern>::
|
--author=<pattern>::
|
||||||
--committer=<pattern>::
|
--committer=<pattern>::
|
||||||
|
|
||||||
Limit the commits output to ones with author/committer
|
Limit the commits output to ones with author/committer
|
||||||
header lines that match the specified pattern (regular
|
header lines that match the specified pattern (regular
|
||||||
expression). With more than one `--author=<pattern>`,
|
expression). With more than one `--author=<pattern>`,
|
||||||
@ -52,7 +46,6 @@ endif::git-rev-list[]
|
|||||||
chosen (similarly for multiple `--committer=<pattern>`).
|
chosen (similarly for multiple `--committer=<pattern>`).
|
||||||
|
|
||||||
--grep-reflog=<pattern>::
|
--grep-reflog=<pattern>::
|
||||||
|
|
||||||
Limit the commits output to ones with reflog entries that
|
Limit the commits output to ones with reflog entries that
|
||||||
match the specified pattern (regular expression). With
|
match the specified pattern (regular expression). With
|
||||||
more than one `--grep-reflog`, commits whose reflog message
|
more than one `--grep-reflog`, commits whose reflog message
|
||||||
@ -60,7 +53,6 @@ endif::git-rev-list[]
|
|||||||
error to use this option unless `--walk-reflogs` is in use.
|
error to use this option unless `--walk-reflogs` is in use.
|
||||||
|
|
||||||
--grep=<pattern>::
|
--grep=<pattern>::
|
||||||
|
|
||||||
Limit the commits output to ones with log message that
|
Limit the commits output to ones with log message that
|
||||||
matches the specified pattern (regular expression). With
|
matches the specified pattern (regular expression). With
|
||||||
more than one `--grep=<pattern>`, commits whose message
|
more than one `--grep=<pattern>`, commits whose message
|
||||||
@ -71,46 +63,39 @@ When `--show-notes` is in effect, the message from the notes as
|
|||||||
if it is part of the log message.
|
if it is part of the log message.
|
||||||
|
|
||||||
--all-match::
|
--all-match::
|
||||||
Limit the commits output to ones that match all given --grep,
|
Limit the commits output to ones that match all given `--grep`,
|
||||||
instead of ones that match at least one.
|
instead of ones that match at least one.
|
||||||
|
|
||||||
-i::
|
-i::
|
||||||
--regexp-ignore-case::
|
--regexp-ignore-case::
|
||||||
|
Match the regular expression limiting patterns without regard to letter
|
||||||
Match the regexp limiting patterns without regard to letters case.
|
case.
|
||||||
|
|
||||||
--basic-regexp::
|
--basic-regexp::
|
||||||
|
|
||||||
Consider the limiting patterns to be basic regular expressions;
|
Consider the limiting patterns to be basic regular expressions;
|
||||||
this is the default.
|
this is the default.
|
||||||
|
|
||||||
-E::
|
-E::
|
||||||
--extended-regexp::
|
--extended-regexp::
|
||||||
|
|
||||||
Consider the limiting patterns to be extended regular expressions
|
Consider the limiting patterns to be extended regular expressions
|
||||||
instead of the default basic regular expressions.
|
instead of the default basic regular expressions.
|
||||||
|
|
||||||
-F::
|
-F::
|
||||||
--fixed-strings::
|
--fixed-strings::
|
||||||
|
|
||||||
Consider the limiting patterns to be fixed strings (don't interpret
|
Consider the limiting patterns to be fixed strings (don't interpret
|
||||||
pattern as a regular expression).
|
pattern as a regular expression).
|
||||||
|
|
||||||
--perl-regexp::
|
--perl-regexp::
|
||||||
|
Consider the limiting patterns to be Perl-compatible regular expressions.
|
||||||
Consider the limiting patterns to be Perl-compatible regexp.
|
|
||||||
Requires libpcre to be compiled in.
|
Requires libpcre to be compiled in.
|
||||||
|
|
||||||
--remove-empty::
|
--remove-empty::
|
||||||
|
|
||||||
Stop when a given path disappears from the tree.
|
Stop when a given path disappears from the tree.
|
||||||
|
|
||||||
--merges::
|
--merges::
|
||||||
|
|
||||||
Print only merge commits. This is exactly the same as `--min-parents=2`.
|
Print only merge commits. This is exactly the same as `--min-parents=2`.
|
||||||
|
|
||||||
--no-merges::
|
--no-merges::
|
||||||
|
|
||||||
Do not print commits with more than one parent. This is
|
Do not print commits with more than one parent. This is
|
||||||
exactly the same as `--max-parents=1`.
|
exactly the same as `--max-parents=1`.
|
||||||
|
|
||||||
@ -118,7 +103,6 @@ if it is part of the log message.
|
|||||||
--max-parents=<number>::
|
--max-parents=<number>::
|
||||||
--no-min-parents::
|
--no-min-parents::
|
||||||
--no-max-parents::
|
--no-max-parents::
|
||||||
|
|
||||||
Show only commits which have at least (or at most) that many parent
|
Show only commits which have at least (or at most) that many parent
|
||||||
commits. In particular, `--max-parents=1` is the same as `--no-merges`,
|
commits. In particular, `--max-parents=1` is the same as `--no-merges`,
|
||||||
`--min-parents=2` is the same as `--merges`. `--max-parents=0`
|
`--min-parents=2` is the same as `--merges`. `--max-parents=0`
|
||||||
@ -138,31 +122,26 @@ parents) and `--max-parents=-1` (negative numbers denote no upper limit).
|
|||||||
brought in to your history by such a merge.
|
brought in to your history by such a merge.
|
||||||
|
|
||||||
--not::
|
--not::
|
||||||
|
|
||||||
Reverses the meaning of the '{caret}' prefix (or lack thereof)
|
Reverses the meaning of the '{caret}' prefix (or lack thereof)
|
||||||
for all following revision specifiers, up to the next '--not'.
|
for all following revision specifiers, up to the next `--not`.
|
||||||
|
|
||||||
--all::
|
--all::
|
||||||
|
|
||||||
Pretend as if all the refs in `refs/` are listed on the
|
Pretend as if all the refs in `refs/` are listed on the
|
||||||
command line as '<commit>'.
|
command line as '<commit>'.
|
||||||
|
|
||||||
--branches[=<pattern>]::
|
--branches[=<pattern>]::
|
||||||
|
|
||||||
Pretend as if all the refs in `refs/heads` are listed
|
Pretend as if all the refs in `refs/heads` are listed
|
||||||
on the command line as '<commit>'. If '<pattern>' is given, limit
|
on the command line as '<commit>'. If '<pattern>' is given, limit
|
||||||
branches to ones matching given shell glob. If pattern lacks '?',
|
branches to ones matching given shell glob. If pattern lacks '?',
|
||||||
'{asterisk}', or '[', '/{asterisk}' at the end is implied.
|
'{asterisk}', or '[', '/{asterisk}' at the end is implied.
|
||||||
|
|
||||||
--tags[=<pattern>]::
|
--tags[=<pattern>]::
|
||||||
|
|
||||||
Pretend as if all the refs in `refs/tags` are listed
|
Pretend as if all the refs in `refs/tags` are listed
|
||||||
on the command line as '<commit>'. If '<pattern>' is given, limit
|
on the command line as '<commit>'. If '<pattern>' is given, limit
|
||||||
tags to ones matching given shell glob. If pattern lacks '?', '{asterisk}',
|
tags to ones matching given shell glob. If pattern lacks '?', '{asterisk}',
|
||||||
or '[', '/{asterisk}' at the end is implied.
|
or '[', '/{asterisk}' at the end is implied.
|
||||||
|
|
||||||
--remotes[=<pattern>]::
|
--remotes[=<pattern>]::
|
||||||
|
|
||||||
Pretend as if all the refs in `refs/remotes` are listed
|
Pretend as if all the refs in `refs/remotes` are listed
|
||||||
on the command line as '<commit>'. If '<pattern>' is given, limit
|
on the command line as '<commit>'. If '<pattern>' is given, limit
|
||||||
remote-tracking branches to ones matching given shell glob.
|
remote-tracking branches to ones matching given shell glob.
|
||||||
@ -175,13 +154,11 @@ parents) and `--max-parents=-1` (negative numbers denote no upper limit).
|
|||||||
or '[', '/{asterisk}' at the end is implied.
|
or '[', '/{asterisk}' at the end is implied.
|
||||||
|
|
||||||
--ignore-missing::
|
--ignore-missing::
|
||||||
|
|
||||||
Upon seeing an invalid object name in the input, pretend as if
|
Upon seeing an invalid object name in the input, pretend as if
|
||||||
the bad input was not given.
|
the bad input was not given.
|
||||||
|
|
||||||
ifndef::git-rev-list[]
|
ifndef::git-rev-list[]
|
||||||
--bisect::
|
--bisect::
|
||||||
|
|
||||||
Pretend as if the bad bisection ref `refs/bisect/bad`
|
Pretend as if the bad bisection ref `refs/bisect/bad`
|
||||||
was listed and as if it was followed by `--not` and the good
|
was listed and as if it was followed by `--not` and the good
|
||||||
bisection refs `refs/bisect/good-*` on the command
|
bisection refs `refs/bisect/good-*` on the command
|
||||||
@ -189,7 +166,6 @@ ifndef::git-rev-list[]
|
|||||||
endif::git-rev-list[]
|
endif::git-rev-list[]
|
||||||
|
|
||||||
--stdin::
|
--stdin::
|
||||||
|
|
||||||
In addition to the '<commit>' listed on the command
|
In addition to the '<commit>' listed on the command
|
||||||
line, read them from the standard input. If a '--' separator is
|
line, read them from the standard input. If a '--' separator is
|
||||||
seen, stop reading commits and start reading paths to limit the
|
seen, stop reading commits and start reading paths to limit the
|
||||||
@ -197,36 +173,32 @@ endif::git-rev-list[]
|
|||||||
|
|
||||||
ifdef::git-rev-list[]
|
ifdef::git-rev-list[]
|
||||||
--quiet::
|
--quiet::
|
||||||
|
|
||||||
Don't print anything to standard output. This form
|
Don't print anything to standard output. This form
|
||||||
is primarily meant to allow the caller to
|
is primarily meant to allow the caller to
|
||||||
test the exit status to see if a range of objects is fully
|
test the exit status to see if a range of objects is fully
|
||||||
connected (or not). It is faster than redirecting stdout
|
connected (or not). It is faster than redirecting stdout
|
||||||
to /dev/null as the output does not have to be formatted.
|
to `/dev/null` as the output does not have to be formatted.
|
||||||
endif::git-rev-list[]
|
endif::git-rev-list[]
|
||||||
|
|
||||||
--cherry-mark::
|
--cherry-mark::
|
||||||
|
|
||||||
Like `--cherry-pick` (see below) but mark equivalent commits
|
Like `--cherry-pick` (see below) but mark equivalent commits
|
||||||
with `=` rather than omitting them, and inequivalent ones with `+`.
|
with `=` rather than omitting them, and inequivalent ones with `+`.
|
||||||
|
|
||||||
--cherry-pick::
|
--cherry-pick::
|
||||||
|
|
||||||
Omit any commit that introduces the same change as
|
Omit any commit that introduces the same change as
|
||||||
another commit on the "other side" when the set of
|
another commit on the ``other side'' when the set of
|
||||||
commits are limited with symmetric difference.
|
commits are limited with symmetric difference.
|
||||||
+
|
+
|
||||||
For example, if you have two branches, `A` and `B`, a usual way
|
For example, if you have two branches, `A` and `B`, a usual way
|
||||||
to list all commits on only one side of them is with
|
to list all commits on only one side of them is with
|
||||||
`--left-right` (see the example below in the description of
|
`--left-right` (see the example below in the description of
|
||||||
the `--left-right` option). It however shows the commits that were cherry-picked
|
the `--left-right` option). However, it shows the commits that were
|
||||||
from the other branch (for example, "3rd on b" may be cherry-picked
|
cherry-picked from the other branch (for example, ``3rd on b'' may be
|
||||||
from branch A). With this option, such pairs of commits are
|
cherry-picked from branch A). With this option, such pairs of commits are
|
||||||
excluded from the output.
|
excluded from the output.
|
||||||
|
|
||||||
--left-only::
|
--left-only::
|
||||||
--right-only::
|
--right-only::
|
||||||
|
|
||||||
List only commits on the respective side of a symmetric range,
|
List only commits on the respective side of a symmetric range,
|
||||||
i.e. only those which would be marked `<` resp. `>` by
|
i.e. only those which would be marked `<` resp. `>` by
|
||||||
`--left-right`.
|
`--left-right`.
|
||||||
@ -238,7 +210,6 @@ More precisely, `--cherry-pick --right-only --no-merges` gives the exact
|
|||||||
list.
|
list.
|
||||||
|
|
||||||
--cherry::
|
--cherry::
|
||||||
|
|
||||||
A synonym for `--right-only --cherry-mark --no-merges`; useful to
|
A synonym for `--right-only --cherry-mark --no-merges`; useful to
|
||||||
limit the output to the commits on our side and mark those that
|
limit the output to the commits on our side and mark those that
|
||||||
have been applied to the other side of a forked history with
|
have been applied to the other side of a forked history with
|
||||||
@ -247,30 +218,27 @@ list.
|
|||||||
|
|
||||||
-g::
|
-g::
|
||||||
--walk-reflogs::
|
--walk-reflogs::
|
||||||
|
|
||||||
Instead of walking the commit ancestry chain, walk
|
Instead of walking the commit ancestry chain, walk
|
||||||
reflog entries from the most recent one to older ones.
|
reflog entries from the most recent one to older ones.
|
||||||
When this option is used you cannot specify commits to
|
When this option is used you cannot specify commits to
|
||||||
exclude (that is, '{caret}commit', 'commit1..commit2',
|
exclude (that is, '{caret}commit', 'commit1..commit2',
|
||||||
nor 'commit1\...commit2' notations cannot be used).
|
nor 'commit1\...commit2' notations cannot be used).
|
||||||
+
|
+
|
||||||
With '\--pretty' format other than oneline (for obvious reasons),
|
With `--pretty` format other than `oneline` (for obvious reasons),
|
||||||
this causes the output to have two extra lines of information
|
this causes the output to have two extra lines of information
|
||||||
taken from the reflog. By default, 'commit@\{Nth}' notation is
|
taken from the reflog. By default, 'commit@\{Nth}' notation is
|
||||||
used in the output. When the starting commit is specified as
|
used in the output. When the starting commit is specified as
|
||||||
'commit@\{now}', output also uses 'commit@\{timestamp}' notation
|
'commit@\{now}', output also uses 'commit@\{timestamp}' notation
|
||||||
instead. Under '\--pretty=oneline', the commit message is
|
instead. Under `--pretty=oneline`, the commit message is
|
||||||
prefixed with this information on the same line.
|
prefixed with this information on the same line.
|
||||||
This option cannot be combined with '\--reverse'.
|
This option cannot be combined with `--reverse`.
|
||||||
See also linkgit:git-reflog[1].
|
See also linkgit:git-reflog[1].
|
||||||
|
|
||||||
--merge::
|
--merge::
|
||||||
|
|
||||||
After a failed merge, show refs that touch files having a
|
After a failed merge, show refs that touch files having a
|
||||||
conflict and don't exist on all heads to merge.
|
conflict and don't exist on all heads to merge.
|
||||||
|
|
||||||
--boundary::
|
--boundary::
|
||||||
|
|
||||||
Output excluded boundary commits. Boundary commits are
|
Output excluded boundary commits. Boundary commits are
|
||||||
prefixed with `-`.
|
prefixed with `-`.
|
||||||
|
|
||||||
@ -287,11 +255,9 @@ is how to do it, as there are various strategies to simplify the history.
|
|||||||
The following options select the commits to be shown:
|
The following options select the commits to be shown:
|
||||||
|
|
||||||
<paths>::
|
<paths>::
|
||||||
|
|
||||||
Commits modifying the given <paths> are selected.
|
Commits modifying the given <paths> are selected.
|
||||||
|
|
||||||
--simplify-by-decoration::
|
--simplify-by-decoration::
|
||||||
|
|
||||||
Commits that are referred by some branch or tag are selected.
|
Commits that are referred by some branch or tag are selected.
|
||||||
|
|
||||||
Note that extra commits can be shown to give a meaningful history.
|
Note that extra commits can be shown to give a meaningful history.
|
||||||
@ -299,33 +265,27 @@ Note that extra commits can be shown to give a meaningful history.
|
|||||||
The following options affect the way the simplification is performed:
|
The following options affect the way the simplification is performed:
|
||||||
|
|
||||||
Default mode::
|
Default mode::
|
||||||
|
|
||||||
Simplifies the history to the simplest history explaining the
|
Simplifies the history to the simplest history explaining the
|
||||||
final state of the tree. Simplest because it prunes some side
|
final state of the tree. Simplest because it prunes some side
|
||||||
branches if the end result is the same (i.e. merging branches
|
branches if the end result is the same (i.e. merging branches
|
||||||
with the same content)
|
with the same content)
|
||||||
|
|
||||||
--full-history::
|
--full-history::
|
||||||
|
|
||||||
Same as the default mode, but does not prune some history.
|
Same as the default mode, but does not prune some history.
|
||||||
|
|
||||||
--dense::
|
--dense::
|
||||||
|
|
||||||
Only the selected commits are shown, plus some to have a
|
Only the selected commits are shown, plus some to have a
|
||||||
meaningful history.
|
meaningful history.
|
||||||
|
|
||||||
--sparse::
|
--sparse::
|
||||||
|
|
||||||
All commits in the simplified history are shown.
|
All commits in the simplified history are shown.
|
||||||
|
|
||||||
--simplify-merges::
|
--simplify-merges::
|
||||||
|
Additional option to `--full-history` to remove some needless
|
||||||
Additional option to '--full-history' to remove some needless
|
|
||||||
merges from the resulting history, as there are no selected
|
merges from the resulting history, as there are no selected
|
||||||
commits contributing to this merge.
|
commits contributing to this merge.
|
||||||
|
|
||||||
--ancestry-path::
|
--ancestry-path::
|
||||||
|
|
||||||
When given a range of commits to display (e.g. 'commit1..commit2'
|
When given a range of commits to display (e.g. 'commit1..commit2'
|
||||||
or 'commit2 {caret}commit1'), only display commits that exist
|
or 'commit2 {caret}commit1'), only display commits that exist
|
||||||
directly on the ancestry chain between the 'commit1' and
|
directly on the ancestry chain between the 'commit1' and
|
||||||
@ -352,36 +312,35 @@ The horizontal line of history A---Q is taken to be the first parent of
|
|||||||
each merge. The commits are:
|
each merge. The commits are:
|
||||||
|
|
||||||
* `I` is the initial commit, in which `foo` exists with contents
|
* `I` is the initial commit, in which `foo` exists with contents
|
||||||
"asdf", and a file `quux` exists with contents "quux". Initial
|
``asdf'', and a file `quux` exists with contents ``quux''. Initial
|
||||||
commits are compared to an empty tree, so `I` is !TREESAME.
|
commits are compared to an empty tree, so `I` is !TREESAME.
|
||||||
|
|
||||||
* In `A`, `foo` contains just "foo".
|
* In `A`, `foo` contains just ``foo''.
|
||||||
|
|
||||||
* `B` contains the same change as `A`. Its merge `M` is trivial and
|
* `B` contains the same change as `A`. Its merge `M` is trivial and
|
||||||
hence TREESAME to all parents.
|
hence TREESAME to all parents.
|
||||||
|
|
||||||
* `C` does not change `foo`, but its merge `N` changes it to "foobar",
|
* `C` does not change `foo`, but its merge `N` changes it to ``foobar'',
|
||||||
so it is not TREESAME to any parent.
|
so it is not TREESAME to any parent.
|
||||||
|
|
||||||
* `D` sets `foo` to "baz". Its merge `O` combines the strings from
|
* `D` sets `foo` to ``baz''. Its merge `O` combines the strings from
|
||||||
`N` and `D` to "foobarbaz"; i.e., it is not TREESAME to any parent.
|
`N` and `D` to ``foobarbaz''; i.e., it is not TREESAME to any parent.
|
||||||
|
|
||||||
* `E` changes `quux` to "xyzzy", and its merge `P` combines the
|
* `E` changes `quux` to ``xyzzy'', and its merge `P` combines the
|
||||||
strings to "quux xyzzy". `P` is TREESAME to `O`, but not to `E`.
|
strings to ``quux xyzzy''. `P` is TREESAME to `O`, but not to `E`.
|
||||||
|
|
||||||
* `X` is an independent root commit that added a new file `side`, and `Y`
|
* `X` is an independent root commit that added a new file `side`, and `Y`
|
||||||
modified it. `Y` is TREESAME to `X`. Its merge `Q` added `side` to `P`, and
|
modified it. `Y` is TREESAME to `X`. Its merge `Q` added `side` to `P`, and
|
||||||
`Q` is TREESAME to `P`, but not to `Y`.
|
`Q` is TREESAME to `P`, but not to `Y`.
|
||||||
|
|
||||||
'rev-list' walks backwards through history, including or excluding
|
`rev-list` walks backwards through history, including or excluding
|
||||||
commits based on whether '\--full-history' and/or parent rewriting
|
commits based on whether `--full-history` and/or parent rewriting
|
||||||
(via '\--parents' or '\--children') are used. The following settings
|
(via `--parents` or `--children`) are used. The following settings
|
||||||
are available.
|
are available.
|
||||||
|
|
||||||
Default mode::
|
Default mode::
|
||||||
|
|
||||||
Commits are included if they are not TREESAME to any parent
|
Commits are included if they are not TREESAME to any parent
|
||||||
(though this can be changed, see '\--sparse' below). If the
|
(though this can be changed, see `--sparse` below). If the
|
||||||
commit was a merge, and it was TREESAME to one parent, follow
|
commit was a merge, and it was TREESAME to one parent, follow
|
||||||
only that parent. (Even if there are several TREESAME
|
only that parent. (Even if there are several TREESAME
|
||||||
parents, follow only one of them.) Otherwise, follow all
|
parents, follow only one of them.) Otherwise, follow all
|
||||||
@ -400,12 +359,11 @@ available, removed `B` from consideration entirely. `C` was
|
|||||||
considered via `N`, but is TREESAME. Root commits are compared to an
|
considered via `N`, but is TREESAME. Root commits are compared to an
|
||||||
empty tree, so `I` is !TREESAME.
|
empty tree, so `I` is !TREESAME.
|
||||||
+
|
+
|
||||||
Parent/child relations are only visible with --parents, but that does
|
Parent/child relations are only visible with `--parents`, but that does
|
||||||
not affect the commits selected in default mode, so we have shown the
|
not affect the commits selected in default mode, so we have shown the
|
||||||
parent lines.
|
parent lines.
|
||||||
|
|
||||||
--full-history without parent rewriting::
|
--full-history without parent rewriting::
|
||||||
|
|
||||||
This mode differs from the default in one point: always follow
|
This mode differs from the default in one point: always follow
|
||||||
all parents of a merge, even if it is TREESAME to one of them.
|
all parents of a merge, even if it is TREESAME to one of them.
|
||||||
Even if more than one side of the merge has commits that are
|
Even if more than one side of the merge has commits that are
|
||||||
@ -425,9 +383,8 @@ about the parent/child relationships between the commits, so we show
|
|||||||
them disconnected.
|
them disconnected.
|
||||||
|
|
||||||
--full-history with parent rewriting::
|
--full-history with parent rewriting::
|
||||||
|
|
||||||
Ordinary commits are only included if they are !TREESAME
|
Ordinary commits are only included if they are !TREESAME
|
||||||
(though this can be changed, see '\--sparse' below).
|
(though this can be changed, see `--sparse` below).
|
||||||
+
|
+
|
||||||
Merges are always included. However, their parent list is rewritten:
|
Merges are always included. However, their parent list is rewritten:
|
||||||
Along each parent, prune away commits that are not included
|
Along each parent, prune away commits that are not included
|
||||||
@ -441,7 +398,7 @@ themselves. This results in
|
|||||||
`-------------'
|
`-------------'
|
||||||
-----------------------------------------------------------------------
|
-----------------------------------------------------------------------
|
||||||
+
|
+
|
||||||
Compare to '\--full-history' without rewriting above. Note that `E`
|
Compare to `--full-history` without rewriting above. Note that `E`
|
||||||
was pruned away because it is TREESAME, but the parent list of P was
|
was pruned away because it is TREESAME, but the parent list of P was
|
||||||
rewritten to contain `E`'s parent `I`. The same happened for `C` and
|
rewritten to contain `E`'s parent `I`. The same happened for `C` and
|
||||||
`N`, and `X`, `Y` and `Q`.
|
`N`, and `X`, `Y` and `Q`.
|
||||||
@ -450,22 +407,19 @@ In addition to the above settings, you can change whether TREESAME
|
|||||||
affects inclusion:
|
affects inclusion:
|
||||||
|
|
||||||
--dense::
|
--dense::
|
||||||
|
|
||||||
Commits that are walked are included if they are not TREESAME
|
Commits that are walked are included if they are not TREESAME
|
||||||
to any parent.
|
to any parent.
|
||||||
|
|
||||||
--sparse::
|
--sparse::
|
||||||
|
|
||||||
All commits that are walked are included.
|
All commits that are walked are included.
|
||||||
+
|
+
|
||||||
Note that without '\--full-history', this still simplifies merges: if
|
Note that without `--full-history`, this still simplifies merges: if
|
||||||
one of the parents is TREESAME, we follow only that one, so the other
|
one of the parents is TREESAME, we follow only that one, so the other
|
||||||
sides of the merge are never walked.
|
sides of the merge are never walked.
|
||||||
|
|
||||||
--simplify-merges::
|
--simplify-merges::
|
||||||
|
|
||||||
First, build a history graph in the same way that
|
First, build a history graph in the same way that
|
||||||
'\--full-history' with parent rewriting does (see above).
|
`--full-history` with parent rewriting does (see above).
|
||||||
+
|
+
|
||||||
Then simplify each commit `C` to its replacement `C'` in the final
|
Then simplify each commit `C` to its replacement `C'` in the final
|
||||||
history according to the following rules:
|
history according to the following rules:
|
||||||
@ -484,7 +438,7 @@ history according to the following rules:
|
|||||||
--
|
--
|
||||||
+
|
+
|
||||||
The effect of this is best shown by way of comparing to
|
The effect of this is best shown by way of comparing to
|
||||||
'\--full-history' with parent rewriting. The example turns into:
|
`--full-history` with parent rewriting. The example turns into:
|
||||||
+
|
+
|
||||||
-----------------------------------------------------------------------
|
-----------------------------------------------------------------------
|
||||||
.-A---M---N---O
|
.-A---M---N---O
|
||||||
@ -494,7 +448,7 @@ The effect of this is best shown by way of comparing to
|
|||||||
`---------'
|
`---------'
|
||||||
-----------------------------------------------------------------------
|
-----------------------------------------------------------------------
|
||||||
+
|
+
|
||||||
Note the major differences in `N`, `P` and `Q` over '--full-history':
|
Note the major differences in `N`, `P`, and `Q` over `--full-history`:
|
||||||
+
|
+
|
||||||
--
|
--
|
||||||
* `N`'s parent list had `I` removed, because it is an ancestor of the
|
* `N`'s parent list had `I` removed, because it is an ancestor of the
|
||||||
@ -511,11 +465,10 @@ Note the major differences in `N`, `P` and `Q` over '--full-history':
|
|||||||
Finally, there is a fifth simplification mode available:
|
Finally, there is a fifth simplification mode available:
|
||||||
|
|
||||||
--ancestry-path::
|
--ancestry-path::
|
||||||
|
|
||||||
Limit the displayed commits to those directly on the ancestry
|
Limit the displayed commits to those directly on the ancestry
|
||||||
chain between the "from" and "to" commits in the given commit
|
chain between the ``from'' and ``to'' commits in the given commit
|
||||||
range. I.e. only display commits that are ancestor of the "to"
|
range. I.e. only display commits that are ancestor of the ``to''
|
||||||
commit, and descendants of the "from" commit.
|
commit and descendants of the ``from'' commit.
|
||||||
+
|
+
|
||||||
As an example use case, consider the following commit history:
|
As an example use case, consider the following commit history:
|
||||||
+
|
+
|
||||||
@ -530,14 +483,14 @@ As an example use case, consider the following commit history:
|
|||||||
A regular 'D..M' computes the set of commits that are ancestors of `M`,
|
A regular 'D..M' computes the set of commits that are ancestors of `M`,
|
||||||
but excludes the ones that are ancestors of `D`. This is useful to see
|
but excludes the ones that are ancestors of `D`. This is useful to see
|
||||||
what happened to the history leading to `M` since `D`, in the sense
|
what happened to the history leading to `M` since `D`, in the sense
|
||||||
that "what does `M` have that did not exist in `D`". The result in this
|
that ``what does `M` have that did not exist in `D`''. The result in this
|
||||||
example would be all the commits, except `A` and `B` (and `D` itself,
|
example would be all the commits, except `A` and `B` (and `D` itself,
|
||||||
of course).
|
of course).
|
||||||
+
|
+
|
||||||
When we want to find out what commits in `M` are contaminated with the
|
When we want to find out what commits in `M` are contaminated with the
|
||||||
bug introduced by `D` and need fixing, however, we might want to view
|
bug introduced by `D` and need fixing, however, we might want to view
|
||||||
only the subset of 'D..M' that are actually descendants of `D`, i.e.
|
only the subset of 'D..M' that are actually descendants of `D`, i.e.
|
||||||
excluding `C` and `K`. This is exactly what the '--ancestry-path'
|
excluding `C` and `K`. This is exactly what the `--ancestry-path`
|
||||||
option does. Applied to the 'D..M' range, it results in:
|
option does. Applied to the 'D..M' range, it results in:
|
||||||
+
|
+
|
||||||
-----------------------------------------------------------------------
|
-----------------------------------------------------------------------
|
||||||
@ -548,7 +501,7 @@ option does. Applied to the 'D..M' range, it results in:
|
|||||||
L--M
|
L--M
|
||||||
-----------------------------------------------------------------------
|
-----------------------------------------------------------------------
|
||||||
|
|
||||||
The '\--simplify-by-decoration' option allows you to view only the
|
The `--simplify-by-decoration` option allows you to view only the
|
||||||
big picture of the topology of the history, by omitting commits
|
big picture of the topology of the history, by omitting commits
|
||||||
that are not referenced by tags. Commits are marked as !TREESAME
|
that are not referenced by tags. Commits are marked as !TREESAME
|
||||||
(in other words, kept after history simplification rules described
|
(in other words, kept after history simplification rules described
|
||||||
@ -561,50 +514,47 @@ Bisection Helpers
|
|||||||
~~~~~~~~~~~~~~~~~
|
~~~~~~~~~~~~~~~~~
|
||||||
|
|
||||||
--bisect::
|
--bisect::
|
||||||
|
Limit output to the one commit object which is roughly halfway between
|
||||||
Limit output to the one commit object which is roughly halfway between
|
included and excluded commits. Note that the bad bisection ref
|
||||||
included and excluded commits. Note that the bad bisection ref
|
`refs/bisect/bad` is added to the included commits (if it
|
||||||
`refs/bisect/bad` is added to the included commits (if it
|
exists) and the good bisection refs `refs/bisect/good-*` are
|
||||||
exists) and the good bisection refs `refs/bisect/good-*` are
|
added to the excluded commits (if they exist). Thus, supposing there
|
||||||
added to the excluded commits (if they exist). Thus, supposing there
|
are no refs in `refs/bisect/`, if
|
||||||
are no refs in `refs/bisect/`, if
|
+
|
||||||
|
|
||||||
-----------------------------------------------------------------------
|
-----------------------------------------------------------------------
|
||||||
$ git rev-list --bisect foo ^bar ^baz
|
$ git rev-list --bisect foo ^bar ^baz
|
||||||
-----------------------------------------------------------------------
|
-----------------------------------------------------------------------
|
||||||
|
+
|
||||||
outputs 'midpoint', the output of the two commands
|
outputs 'midpoint', the output of the two commands
|
||||||
|
+
|
||||||
-----------------------------------------------------------------------
|
-----------------------------------------------------------------------
|
||||||
$ git rev-list foo ^midpoint
|
$ git rev-list foo ^midpoint
|
||||||
$ git rev-list midpoint ^bar ^baz
|
$ git rev-list midpoint ^bar ^baz
|
||||||
-----------------------------------------------------------------------
|
-----------------------------------------------------------------------
|
||||||
|
+
|
||||||
would be of roughly the same length. Finding the change which
|
would be of roughly the same length. Finding the change which
|
||||||
introduces a regression is thus reduced to a binary search: repeatedly
|
introduces a regression is thus reduced to a binary search: repeatedly
|
||||||
generate and test new 'midpoint's until the commit chain is of length
|
generate and test new 'midpoint's until the commit chain is of length
|
||||||
one.
|
one.
|
||||||
|
|
||||||
--bisect-vars::
|
--bisect-vars::
|
||||||
|
This calculates the same as `--bisect`, except that refs in
|
||||||
This calculates the same as `--bisect`, except that refs in
|
`refs/bisect/` are not used, and except that this outputs
|
||||||
`refs/bisect/` are not used, and except that this outputs
|
text ready to be eval'ed by the shell. These lines will assign the
|
||||||
text ready to be eval'ed by the shell. These lines will assign the
|
name of the midpoint revision to the variable `bisect_rev`, and the
|
||||||
name of the midpoint revision to the variable `bisect_rev`, and the
|
expected number of commits to be tested after `bisect_rev` is tested
|
||||||
expected number of commits to be tested after `bisect_rev` is tested
|
to `bisect_nr`, the expected number of commits to be tested if
|
||||||
to `bisect_nr`, the expected number of commits to be tested if
|
`bisect_rev` turns out to be good to `bisect_good`, the expected
|
||||||
`bisect_rev` turns out to be good to `bisect_good`, the expected
|
number of commits to be tested if `bisect_rev` turns out to be bad to
|
||||||
number of commits to be tested if `bisect_rev` turns out to be bad to
|
`bisect_bad`, and the number of commits we are bisecting right now to
|
||||||
`bisect_bad`, and the number of commits we are bisecting right now to
|
`bisect_all`.
|
||||||
`bisect_all`.
|
|
||||||
|
|
||||||
--bisect-all::
|
--bisect-all::
|
||||||
|
This outputs all the commit objects between the included and excluded
|
||||||
This outputs all the commit objects between the included and excluded
|
commits, ordered by their distance to the included and excluded
|
||||||
commits, ordered by their distance to the included and excluded
|
commits. Refs in `refs/bisect/` are not used. The farthest
|
||||||
commits. Refs in `refs/bisect/` are not used. The farthest
|
from them is displayed first. (This is the only one displayed by
|
||||||
from them is displayed first. (This is the only one displayed by
|
`--bisect`.)
|
||||||
`--bisect`.)
|
|
||||||
+
|
+
|
||||||
This is useful because it makes it easy to choose a good commit to
|
This is useful because it makes it easy to choose a good commit to
|
||||||
test when you want to avoid to test some of them for some reason (they
|
test when you want to avoid to test some of them for some reason (they
|
||||||
@ -654,9 +604,8 @@ avoid showing the commits from two parallel development track mixed
|
|||||||
together.
|
together.
|
||||||
|
|
||||||
--reverse::
|
--reverse::
|
||||||
|
|
||||||
Output the commits in reverse order.
|
Output the commits in reverse order.
|
||||||
Cannot be combined with '\--walk-reflogs'.
|
Cannot be combined with `--walk-reflogs`.
|
||||||
|
|
||||||
Object Traversal
|
Object Traversal
|
||||||
~~~~~~~~~~~~~~~~
|
~~~~~~~~~~~~~~~~
|
||||||
@ -664,37 +613,32 @@ Object Traversal
|
|||||||
These options are mostly targeted for packing of Git repositories.
|
These options are mostly targeted for packing of Git repositories.
|
||||||
|
|
||||||
--objects::
|
--objects::
|
||||||
|
|
||||||
Print the object IDs of any object referenced by the listed
|
Print the object IDs of any object referenced by the listed
|
||||||
commits. '--objects foo ^bar' thus means "send me
|
commits. `--objects foo ^bar` thus means ``send me
|
||||||
all object IDs which I need to download if I have the commit
|
all object IDs which I need to download if I have the commit
|
||||||
object 'bar', but not 'foo'".
|
object _bar_ but not _foo_''.
|
||||||
|
|
||||||
--objects-edge::
|
--objects-edge::
|
||||||
|
Similar to `--objects`, but also print the IDs of excluded
|
||||||
Similar to '--objects', but also print the IDs of excluded
|
commits prefixed with a ``-'' character. This is used by
|
||||||
commits prefixed with a "-" character. This is used by
|
linkgit:git-pack-objects[1] to build ``thin'' pack, which records
|
||||||
linkgit:git-pack-objects[1] to build "thin" pack, which records
|
|
||||||
objects in deltified form based on objects contained in these
|
objects in deltified form based on objects contained in these
|
||||||
excluded commits to reduce network traffic.
|
excluded commits to reduce network traffic.
|
||||||
|
|
||||||
--unpacked::
|
--unpacked::
|
||||||
|
Only useful with `--objects`; print the object IDs that are not
|
||||||
Only useful with '--objects'; print the object IDs that are not
|
|
||||||
in packs.
|
in packs.
|
||||||
|
|
||||||
--no-walk[=(sorted|unsorted)]::
|
--no-walk[=(sorted|unsorted)]::
|
||||||
|
|
||||||
Only show the given commits, but do not traverse their ancestors.
|
Only show the given commits, but do not traverse their ancestors.
|
||||||
This has no effect if a range is specified. If the argument
|
This has no effect if a range is specified. If the argument
|
||||||
"unsorted" is given, the commits are show in the order they were
|
`unsorted` is given, the commits are shown in the order they were
|
||||||
given on the command line. Otherwise (if "sorted" or no argument
|
given on the command line. Otherwise (if `sorted` or no argument
|
||||||
was given), the commits are show in reverse chronological order
|
was given), the commits are shown in reverse chronological order
|
||||||
by commit time.
|
by commit time.
|
||||||
|
|
||||||
--do-walk::
|
--do-walk::
|
||||||
|
Overrides a previous `--no-walk`.
|
||||||
Overrides a previous --no-walk.
|
|
||||||
|
|
||||||
Commit Formatting
|
Commit Formatting
|
||||||
~~~~~~~~~~~~~~~~~
|
~~~~~~~~~~~~~~~~~
|
||||||
@ -708,26 +652,24 @@ endif::git-rev-list[]
|
|||||||
include::pretty-options.txt[]
|
include::pretty-options.txt[]
|
||||||
|
|
||||||
--relative-date::
|
--relative-date::
|
||||||
|
|
||||||
Synonym for `--date=relative`.
|
Synonym for `--date=relative`.
|
||||||
|
|
||||||
--date=(relative|local|default|iso|rfc|short|raw)::
|
--date=(relative|local|default|iso|rfc|short|raw)::
|
||||||
|
|
||||||
Only takes effect for dates shown in human-readable format, such
|
Only takes effect for dates shown in human-readable format, such
|
||||||
as when using "--pretty". `log.date` config variable sets a default
|
as when using `--pretty`. `log.date` config variable sets a default
|
||||||
value for log command's --date option.
|
value for the log command's `--date` option.
|
||||||
+
|
+
|
||||||
`--date=relative` shows dates relative to the current time,
|
`--date=relative` shows dates relative to the current time,
|
||||||
e.g. "2 hours ago".
|
e.g. ``2 hours ago''.
|
||||||
+
|
+
|
||||||
`--date=local` shows timestamps in user's local time zone.
|
`--date=local` shows timestamps in user's local time zone.
|
||||||
+
|
+
|
||||||
`--date=iso` (or `--date=iso8601`) shows timestamps in ISO 8601 format.
|
`--date=iso` (or `--date=iso8601`) shows timestamps in ISO 8601 format.
|
||||||
+
|
+
|
||||||
`--date=rfc` (or `--date=rfc2822`) shows timestamps in RFC 2822
|
`--date=rfc` (or `--date=rfc2822`) shows timestamps in RFC 2822
|
||||||
format, often found in E-mail messages.
|
format, often found in email messages.
|
||||||
+
|
+
|
||||||
`--date=short` shows only date but not time, in `YYYY-MM-DD` format.
|
`--date=short` shows only the date, but not the time, in `YYYY-MM-DD` format.
|
||||||
+
|
+
|
||||||
`--date=raw` shows the date in the internal raw Git format `%s %z` format.
|
`--date=raw` shows the date in the internal raw Git format `%s %z` format.
|
||||||
+
|
+
|
||||||
@ -736,18 +678,15 @@ format, often found in E-mail messages.
|
|||||||
|
|
||||||
ifdef::git-rev-list[]
|
ifdef::git-rev-list[]
|
||||||
--header::
|
--header::
|
||||||
|
|
||||||
Print the contents of the commit in raw-format; each record is
|
Print the contents of the commit in raw-format; each record is
|
||||||
separated with a NUL character.
|
separated with a NUL character.
|
||||||
endif::git-rev-list[]
|
endif::git-rev-list[]
|
||||||
|
|
||||||
--parents::
|
--parents::
|
||||||
|
|
||||||
Print also the parents of the commit (in the form "commit parent...").
|
Print also the parents of the commit (in the form "commit parent...").
|
||||||
Also enables parent rewriting, see 'History Simplification' below.
|
Also enables parent rewriting, see 'History Simplification' below.
|
||||||
|
|
||||||
--children::
|
--children::
|
||||||
|
|
||||||
Print also the children of the commit (in the form "commit child...").
|
Print also the children of the commit (in the form "commit child...").
|
||||||
Also enables parent rewriting, see 'History Simplification' below.
|
Also enables parent rewriting, see 'History Simplification' below.
|
||||||
|
|
||||||
@ -757,7 +696,6 @@ ifdef::git-rev-list[]
|
|||||||
endif::git-rev-list[]
|
endif::git-rev-list[]
|
||||||
|
|
||||||
--left-right::
|
--left-right::
|
||||||
|
|
||||||
Mark which side of a symmetric diff a commit is reachable from.
|
Mark which side of a symmetric diff a commit is reachable from.
|
||||||
Commits from the left side are prefixed with `<` and those from
|
Commits from the left side are prefixed with `<` and those from
|
||||||
the right with `>`. If combined with `--boundary`, those
|
the right with `>`. If combined with `--boundary`, those
|
||||||
@ -787,7 +725,6 @@ you would get an output like this:
|
|||||||
-----------------------------------------------------------------------
|
-----------------------------------------------------------------------
|
||||||
|
|
||||||
--graph::
|
--graph::
|
||||||
|
|
||||||
Draw a text-based graphical representation of the commit history
|
Draw a text-based graphical representation of the commit history
|
||||||
on the left hand side of the output. This may cause extra lines
|
on the left hand side of the output. This may cause extra lines
|
||||||
to be printed in between commits, in order for the graph history
|
to be printed in between commits, in order for the graph history
|
||||||
@ -795,31 +732,29 @@ you would get an output like this:
|
|||||||
+
|
+
|
||||||
This enables parent rewriting, see 'History Simplification' below.
|
This enables parent rewriting, see 'History Simplification' below.
|
||||||
+
|
+
|
||||||
This implies the '--topo-order' option by default, but the
|
This implies the `--topo-order` option by default, but the
|
||||||
'--date-order' option may also be specified.
|
`--date-order` option may also be specified.
|
||||||
|
|
||||||
ifdef::git-rev-list[]
|
ifdef::git-rev-list[]
|
||||||
--count::
|
--count::
|
||||||
Print a number stating how many commits would have been
|
Print a number stating how many commits would have been
|
||||||
listed, and suppress all other output. When used together
|
listed, and suppress all other output. When used together
|
||||||
with '--left-right', instead print the counts for left and
|
with `--left-right`, instead print the counts for left and
|
||||||
right commits, separated by a tab. When used together with
|
right commits, separated by a tab. When used together with
|
||||||
'--cherry-mark', omit patch equivalent commits from these
|
`--cherry-mark`, omit patch equivalent commits from these
|
||||||
counts and print the count for equivalent commits separated
|
counts and print the count for equivalent commits separated
|
||||||
by a tab.
|
by a tab.
|
||||||
endif::git-rev-list[]
|
endif::git-rev-list[]
|
||||||
|
|
||||||
|
|
||||||
ifndef::git-rev-list[]
|
ifndef::git-rev-list[]
|
||||||
Diff Formatting
|
Diff Formatting
|
||||||
~~~~~~~~~~~~~~~
|
~~~~~~~~~~~~~~~
|
||||||
|
|
||||||
Below are listed options that control the formatting of diff output.
|
Listed below are options that control the formatting of diff output.
|
||||||
Some of them are specific to linkgit:git-rev-list[1], however other diff
|
Some of them are specific to linkgit:git-rev-list[1], however other diff
|
||||||
options may be given. See linkgit:git-diff-files[1] for more options.
|
options may be given. See linkgit:git-diff-files[1] for more options.
|
||||||
|
|
||||||
-c::
|
-c::
|
||||||
|
|
||||||
With this option, diff output for a merge commit
|
With this option, diff output for a merge commit
|
||||||
shows the differences from each of the parents to the merge result
|
shows the differences from each of the parents to the merge result
|
||||||
simultaneously instead of showing pairwise diff between a parent
|
simultaneously instead of showing pairwise diff between a parent
|
||||||
@ -827,26 +762,22 @@ options may be given. See linkgit:git-diff-files[1] for more options.
|
|||||||
which were modified from all parents.
|
which were modified from all parents.
|
||||||
|
|
||||||
--cc::
|
--cc::
|
||||||
|
This flag implies the `-c` option and further compresses the
|
||||||
This flag implies the '-c' option and further compresses the
|
|
||||||
patch output by omitting uninteresting hunks whose contents in
|
patch output by omitting uninteresting hunks whose contents in
|
||||||
the parents have only two variants and the merge result picks
|
the parents have only two variants and the merge result picks
|
||||||
one of them without modification.
|
one of them without modification.
|
||||||
|
|
||||||
-m::
|
-m::
|
||||||
|
|
||||||
This flag makes the merge commits show the full diff like
|
This flag makes the merge commits show the full diff like
|
||||||
regular commits; for each merge parent, a separate log entry
|
regular commits; for each merge parent, a separate log entry
|
||||||
and diff is generated. An exception is that only diff against
|
and diff is generated. An exception is that only diff against
|
||||||
the first parent is shown when '--first-parent' option is given;
|
the first parent is shown when `--first-parent` option is given;
|
||||||
in that case, the output represents the changes the merge
|
in that case, the output represents the changes the merge
|
||||||
brought _into_ the then-current branch.
|
brought _into_ the then-current branch.
|
||||||
|
|
||||||
-r::
|
-r::
|
||||||
|
|
||||||
Show recursive diffs.
|
Show recursive diffs.
|
||||||
|
|
||||||
-t::
|
-t::
|
||||||
|
Show the tree objects in the diff output. This implies `-r`.
|
||||||
Show the tree objects in the diff output. This implies '-r'.
|
|
||||||
endif::git-rev-list[]
|
endif::git-rev-list[]
|
||||||
|
Loading…
Reference in New Issue
Block a user