{"thread":{"id":"11660","subject":"[PATCH] Include rev-list options in git-log manpage.","startedAt":"2008-01-17T21:44:25Z","lastAt":"2008-01-18T23:12:21Z","messageCount":10,"participants":["Miklos Vajna","Junio C Hamano","Johannes Sixt"],"isPatch":true,"patchVersion":1,"patchTotal":null},"messages":[{"id":"65788","messageId":"20080117214425.GP29972@genesis.frugalware.org","threadId":"11660","inReplyTo":null,"subject":"[PATCH] Include rev-list options in git-log manpage.","fromName":"Miklos Vajna","fromEmail":"vmiklos@frugalware.org","sentAt":"2008-01-17T21:44:25Z","receivedAt":"2008-01-17T21:44:25Z","isPatch":true,"sender":{"key":"vmiklos@frugalware.org","avatar":"https://gravatar.com/avatar/401c1cbbb3a5d13e650c691a2c71d6fd0b80df1a01bc74d9f1972675dd58f2bd?d=mp&s=160"},"body":"It seems that all the git-rev-list options (--grep, --author, etc) were missing\nfrom the git-log manpage. This can be quite problematic if one does not know\nthat git-log accepts the options of git-rev-list.\n\nSo move these options to a separate file and include it from both\ngit-rev-list.txt and git-log.txt.\n\nSigned-off-by: Miklos Vajna <vmiklos@frugalware.org>\n---\n\nNoticed by tsuna on IRC. I hope this is okay for 1.5.4.\n\n Documentation/git-log.txt          |    2 +\n Documentation/git-rev-list.txt     |  358 +-----------------------------------\n Documentation/rev-list-options.txt |  356 +++++++++++++++++++++++++++++++++++\n 3 files changed, 359 insertions(+), 357 deletions(-)\n create mode 100644 Documentation/rev-list-options.txt\n\ndiff --git a/Documentation/git-log.txt b/Documentation/git-log.txt\nindex 5985f47..8095707 100644\n--- a/Documentation/git-log.txt\n+++ b/Documentation/git-log.txt\n@@ -80,6 +80,8 @@ include::diff-options.txt[]\n \tShow only commits that affect the specified paths.\n \n \n+include::rev-list-options.txt[]\n+\n include::pretty-formats.txt[]\n \n include::diff-generate-patch.txt[]\ndiff --git a/Documentation/git-rev-list.txt b/Documentation/git-rev-list.txt\nindex db42cd8..6a4b0cf 100644\n--- a/Documentation/git-rev-list.txt\n+++ b/Documentation/git-rev-list.txt\n@@ -88,363 +88,7 @@ linkgit:git-repack[1].\n OPTIONS\n -------\n \n-Commit Formatting\n-~~~~~~~~~~~~~~~~~\n-\n-Using these options, linkgit:git-rev-list[1] will act similar to the\n-more specialized family of commit log tools: linkgit:git-log[1],\n-linkgit:git-show[1], and linkgit:git-whatchanged[1]\n-\n-include::pretty-options.txt[]\n-\n---relative-date::\n-\n-\tSynonym for `--date=relative`.\n-\n---date={relative,local,default,iso,rfc}::\n-\n-\tOnly takes effect for dates shown in human-readable format, such\n-\tas when using \"--pretty\".\n-+\n-`--date=relative` shows dates relative to the current time,\n-e.g. \"2 hours ago\".\n-+\n-`--date=local` shows timestamps in user's local timezone.\n-+\n-`--date=iso` (or `--date=iso8601`) shows timestamps in ISO 8601 format.\n-+\n-`--date=rfc` (or `--date=rfc2822`) shows timestamps in RFC 2822\n-format, often found in E-mail messages.\n-+\n-`--date=short` shows only date but not time, in `YYYY-MM-DD` format.\n-+\n-`--date=default` shows timestamps in the original timezone\n-(either committer's or author's).\n-\n---header::\n-\n-\tPrint the contents of the commit in raw-format; each record is\n-\tseparated with a NUL character.\n-\n---parents::\n-\n-\tPrint the parents of the commit.\n-\n---timestamp::\n-\tPrint the raw commit timestamp.\n-\n---left-right::\n-\n-\tMark which side of a symmetric diff a commit is reachable from.\n-\tCommits from the left side are prefixed with `<` and those from\n-\tthe right with `>`.  If combined with `--boundary`, those\n-\tcommits are prefixed with `-`.\n-+\n-For example, if you have this topology:\n-+\n------------------------------------------------------------------------\n-             y---b---b  branch B\n-            / \\ /\n-           /   .\n-          /   / \\\n-         o---x---a---a  branch A\n------------------------------------------------------------------------\n-+\n-you would get an output line this:\n-+\n------------------------------------------------------------------------\n-\t$ git rev-list --left-right --boundary --pretty=oneline A...B\n-\n-\t>bbbbbbb... 3rd on b\n-\t>bbbbbbb... 2nd on b\n-\t<aaaaaaa... 3rd on a\n-\t<aaaaaaa... 2nd on a\n-\t-yyyyyyy... 1st on b\n-\t-xxxxxxx... 1st on a\n------------------------------------------------------------------------\n-\n-Diff Formatting\n-~~~~~~~~~~~~~~~\n-\n-Below are listed options that control the formatting of diff output.\n-Some of them are specific to linkgit:git-rev-list[1], however other diff\n-options may be given. See linkgit:git-diff-files[1] for more options.\n-\n--c::\n-\n-\tThis flag changes the way a merge commit is displayed.  It shows\n-\tthe differences from each of the parents to the merge result\n-\tsimultaneously instead of showing pairwise diff between a parent\n-\tand the result one at a time. Furthermore, it lists only files\n-\twhich were modified from all parents.\n-\n---cc::\n-\n-\tThis flag implies the '-c' options and further compresses the\n-\tpatch output by omitting hunks that show differences from only\n-\tone parent, or show the same change from all but one parent for\n-\tan Octopus merge.\n-\n--r::\n-\n-\tShow recursive diffs.\n-\n--t::\n-\n-\tShow the tree objects in the diff output. This implies '-r'.\n-\n-Commit Limiting\n-~~~~~~~~~~~~~~~\n-\n-Besides specifying a range of commits that should be listed using the\n-special notations explained in the description, additional commit\n-limiting may be applied.\n-\n---\n-\n--n 'number', --max-count='number'::\n-\n-\tLimit the number of commits output.\n-\n---skip='number'::\n-\n-\tSkip 'number' commits before starting to show the commit output.\n-\n---since='date', --after='date'::\n-\n-\tShow commits more recent than a specific date.\n-\n---until='date', --before='date'::\n-\n-\tShow commits older than a specific date.\n-\n---max-age='timestamp', --min-age='timestamp'::\n-\n-\tLimit the commits output to specified time range.\n-\n---author='pattern', --committer='pattern'::\n-\n-\tLimit the commits output to ones with author/committer\n-\theader lines that match the specified pattern (regular expression).\n-\n---grep='pattern'::\n-\n-\tLimit the commits output to ones with log message that\n-\tmatches the specified pattern (regular expression).\n-\n--i, --regexp-ignore-case::\n-\n-\tMatch the regexp limiting patterns without regard to letters case.\n-\n--E, --extended-regexp::\n-\n-\tConsider the limiting patterns to be extended regular expressions\n-\tinstead of the default basic regular expressions.\n-\n---remove-empty::\n-\n-\tStop when a given path disappears from the tree.\n-\n---full-history::\n-\n-\tShow also parts of history irrelevant to current state of a given\n-\tpath. This turns off history simplification, which removed merges\n-\twhich didn't change anything at all at some child. It will still actually\n-\tsimplify away merges that didn't change anything at all into either\n-\tchild.\n-\n---no-merges::\n-\n-\tDo not print commits with more than one parent.\n-\n---first-parent::\n-\tFollow only the first parent commit upon seeing a merge\n-\tcommit.  This option can give a better overview when\n-\tviewing the evolution of a particular topic branch,\n-\tbecause merges into a topic branch tend to be only about\n-\tadjusting to updated upstream from time to time, and\n-\tthis option allows you to ignore the individual commits\n-\tbrought in to your history by such a merge.\n-\n---not::\n-\n-\tReverses the meaning of the '{caret}' prefix (or lack thereof)\n-\tfor all following revision specifiers, up to the next '--not'.\n-\n---all::\n-\n-\tPretend as if all the refs in `$GIT_DIR/refs/` are listed on the\n-\tcommand line as '<commit>'.\n-\n---stdin::\n-\n-\tIn addition to the '<commit>' listed on the command\n-\tline, read them from the standard input.\n-\n---quiet::\n-\n-\tDon't print anything to standard output.  This form of\n-\tgit-rev-list is primarily meant to allow the caller to\n-\ttest the exit status to see if a range of objects is fully\n-\tconnected (or not).  It is faster than redirecting stdout\n-\tto /dev/null as the output does not have to be formatted.\n-\n---cherry-pick::\n-\n-\tOmit any commit that introduces the same change as\n-\tanother commit on the \"other side\" when the set of\n-\tcommits are limited with symmetric difference.\n-+\n-For example, if you have two branches, `A` and `B`, a usual way\n-to list all commits on only one side of them is with\n-`--left-right`, like the example above in the description of\n-that option.  It however shows the commits that were cherry-picked\n-from the other branch (for example, \"3rd on b\" may be cherry-picked\n-from branch A).  With this option, such pairs of commits are\n-excluded from the output.\n-\n--g, --walk-reflogs::\n-\n-\tInstead of walking the commit ancestry chain, walk\n-\treflog entries from the most recent one to older ones.\n-\tWhen this option is used you cannot specify commits to\n-\texclude (that is, '{caret}commit', 'commit1..commit2',\n-\tnor 'commit1...commit2' notations cannot be used).\n-+\n-With '\\--pretty' format other than oneline (for obvious reasons),\n-this causes the output to have two extra lines of information\n-taken from the reflog.  By default, 'commit@\\{Nth}' notation is\n-used in the output.  When the starting commit is specified as\n-'commit@{now}', output also uses 'commit@\\{timestamp}' notation\n-instead.  Under '\\--pretty=oneline', the commit message is\n-prefixed with this information on the same line.\n-\n-Cannot be combined with '\\--reverse'.\n-\n---merge::\n-\n-\tAfter a failed merge, show refs that touch files having a\n-\tconflict and don't exist on all heads to merge.\n-\n---boundary::\n-\n-\tOutput uninteresting commits at the boundary, which are usually\n-\tnot shown.\n-\n---dense, --sparse::\n-\n-When optional paths are given, the default behaviour ('--dense') is to\n-only output commits that changes at least one of them, and also ignore\n-merges that do not touch the given paths.\n-\n-Use the '--sparse' flag to makes the command output all eligible commits\n-(still subject to count and age limitation), but apply merge\n-simplification nevertheless.\n-\n---bisect::\n-\n-Limit output to the one commit object which is roughly halfway between\n-the included and excluded commits. Thus, if\n-\n------------------------------------------------------------------------\n-\t$ git-rev-list --bisect foo ^bar ^baz\n------------------------------------------------------------------------\n-\n-outputs 'midpoint', the output of the two commands\n-\n------------------------------------------------------------------------\n-\t$ git-rev-list foo ^midpoint\n-\t$ git-rev-list midpoint ^bar ^baz\n------------------------------------------------------------------------\n-\n-would be of roughly the same length.  Finding the change which\n-introduces a regression is thus reduced to a binary search: repeatedly\n-generate and test new 'midpoint's until the commit chain is of length\n-one.\n-\n---bisect-vars::\n-\n-This calculates the same as `--bisect`, but outputs text ready\n-to be eval'ed by the shell. These lines will assign the name of\n-the midpoint revision to the variable `bisect_rev`, and the\n-expected number of commits to be tested after `bisect_rev` is\n-tested to `bisect_nr`, the expected number of commits to be\n-tested if `bisect_rev` turns out to be good to `bisect_good`,\n-the expected number of commits to be tested if `bisect_rev`\n-turns out to be bad to `bisect_bad`, and the number of commits\n-we are bisecting right now to `bisect_all`.\n-\n---bisect-all::\n-\n-This outputs all the commit objects between the included and excluded\n-commits, ordered by their distance to the included and excluded\n-commits. The farthest from them is displayed first. (This is the only\n-one displayed by `--bisect`.)\n-\n-This is useful because it makes it easy to choose a good commit to\n-test when you want to avoid to test some of them for some reason (they\n-may not compile for example).\n-\n-This option can be used along with `--bisect-vars`, in this case,\n-after all the sorted commit objects, there will be the same text as if\n-`--bisect-vars` had been used alone.\n-\n---\n-\n-Commit Ordering\n-~~~~~~~~~~~~~~~\n-\n-By default, the commits are shown in reverse chronological order.\n-\n---topo-order::\n-\n-\tThis option makes them appear in topological order (i.e.\n-\tdescendant commits are shown before their parents).\n-\n---date-order::\n-\n-\tThis option is similar to '--topo-order' in the sense that no\n-\tparent comes before all of its children, but otherwise things\n-\tare still ordered in the commit timestamp order.\n-\n---reverse::\n-\n-\tOutput the commits in reverse order.\n-\tCannot be combined with '\\--walk-reflogs'.\n-\n-Object Traversal\n-~~~~~~~~~~~~~~~~\n-\n-These options are mostly targeted for packing of git repositories.\n-\n---objects::\n-\n-\tPrint the object IDs of any object referenced by the listed\n-\tcommits.  'git-rev-list --objects foo ^bar' thus means \"send me\n-\tall object IDs which I need to download if I have the commit\n-\tobject 'bar', but not 'foo'\".\n-\n---objects-edge::\n-\n-\tSimilar to '--objects', but also print the IDs of excluded\n-\tcommits prefixed with a \"-\" character.  This is used by\n-\tlinkgit:git-pack-objects[1] to build \"thin\" pack, which records\n-\tobjects in deltified form based on objects contained in these\n-\texcluded commits to reduce network traffic.\n-\n---unpacked::\n-\n-\tOnly useful with '--objects'; print the object IDs that are not\n-\tin packs.\n-\n---no-walk::\n-\n-\tOnly show the given revs, but do not traverse their ancestors.\n-\n---do-walk::\n-\n-\tOverrides a previous --no-walk.\n-\n+include::rev-list-options.txt[]\n \n include::pretty-formats.txt[]\n \ndiff --git a/Documentation/rev-list-options.txt b/Documentation/rev-list-options.txt\nnew file mode 100644\nindex 0000000..85fa1fb\n--- /dev/null\n+++ b/Documentation/rev-list-options.txt\n@@ -0,0 +1,356 @@\n+Commit Formatting\n+~~~~~~~~~~~~~~~~~\n+\n+Using these options, linkgit:git-rev-list[1] will act similar to the\n+more specialized family of commit log tools: linkgit:git-log[1],\n+linkgit:git-show[1], and linkgit:git-whatchanged[1]\n+\n+include::pretty-options.txt[]\n+\n+--relative-date::\n+\n+\tSynonym for `--date=relative`.\n+\n+--date={relative,local,default,iso,rfc}::\n+\n+\tOnly takes effect for dates shown in human-readable format, such\n+\tas when using \"--pretty\".\n++\n+`--date=relative` shows dates relative to the current time,\n+e.g. \"2 hours ago\".\n++\n+`--date=local` shows timestamps in user's local timezone.\n++\n+`--date=iso` (or `--date=iso8601`) shows timestamps in ISO 8601 format.\n++\n+`--date=rfc` (or `--date=rfc2822`) shows timestamps in RFC 2822\n+format, often found in E-mail messages.\n++\n+`--date=short` shows only date but not time, in `YYYY-MM-DD` format.\n++\n+`--date=default` shows timestamps in the original timezone\n+(either committer's or author's).\n+\n+--header::\n+\n+\tPrint the contents of the commit in raw-format; each record is\n+\tseparated with a NUL character.\n+\n+--parents::\n+\n+\tPrint the parents of the commit.\n+\n+--timestamp::\n+\tPrint the raw commit timestamp.\n+\n+--left-right::\n+\n+\tMark which side of a symmetric diff a commit is reachable from.\n+\tCommits from the left side are prefixed with `<` and those from\n+\tthe right with `>`.  If combined with `--boundary`, those\n+\tcommits are prefixed with `-`.\n++\n+For example, if you have this topology:\n++\n+-----------------------------------------------------------------------\n+             y---b---b  branch B\n+            / \\ /\n+           /   .\n+          /   / \\\n+         o---x---a---a  branch A\n+-----------------------------------------------------------------------\n++\n+you would get an output line this:\n++\n+-----------------------------------------------------------------------\n+\t$ git rev-list --left-right --boundary --pretty=oneline A...B\n+\n+\t>bbbbbbb... 3rd on b\n+\t>bbbbbbb... 2nd on b\n+\t<aaaaaaa... 3rd on a\n+\t<aaaaaaa... 2nd on a\n+\t-yyyyyyy... 1st on b\n+\t-xxxxxxx... 1st on a\n+-----------------------------------------------------------------------\n+\n+Diff Formatting\n+~~~~~~~~~~~~~~~\n+\n+Below are listed options that control the formatting of diff output.\n+Some of them are specific to linkgit:git-rev-list[1], however other diff\n+options may be given. See linkgit:git-diff-files[1] for more options.\n+\n+-c::\n+\n+\tThis flag changes the way a merge commit is displayed.  It shows\n+\tthe differences from each of the parents to the merge result\n+\tsimultaneously instead of showing pairwise diff between a parent\n+\tand the result one at a time. Furthermore, it lists only files\n+\twhich were modified from all parents.\n+\n+--cc::\n+\n+\tThis flag implies the '-c' options and further compresses the\n+\tpatch output by omitting hunks that show differences from only\n+\tone parent, or show the same change from all but one parent for\n+\tan Octopus merge.\n+\n+-r::\n+\n+\tShow recursive diffs.\n+\n+-t::\n+\n+\tShow the tree objects in the diff output. This implies '-r'.\n+\n+Commit Limiting\n+~~~~~~~~~~~~~~~\n+\n+Besides specifying a range of commits that should be listed using the\n+special notations explained in the description, additional commit\n+limiting may be applied.\n+\n+--\n+\n+-n 'number', --max-count='number'::\n+\n+\tLimit the number of commits output.\n+\n+--skip='number'::\n+\n+\tSkip 'number' commits before starting to show the commit output.\n+\n+--since='date', --after='date'::\n+\n+\tShow commits more recent than a specific date.\n+\n+--until='date', --before='date'::\n+\n+\tShow commits older than a specific date.\n+\n+--max-age='timestamp', --min-age='timestamp'::\n+\n+\tLimit the commits output to specified time range.\n+\n+--author='pattern', --committer='pattern'::\n+\n+\tLimit the commits output to ones with author/committer\n+\theader lines that match the specified pattern (regular expression).\n+\n+--grep='pattern'::\n+\n+\tLimit the commits output to ones with log message that\n+\tmatches the specified pattern (regular expression).\n+\n+-i, --regexp-ignore-case::\n+\n+\tMatch the regexp limiting patterns without regard to letters case.\n+\n+-E, --extended-regexp::\n+\n+\tConsider the limiting patterns to be extended regular expressions\n+\tinstead of the default basic regular expressions.\n+\n+--remove-empty::\n+\n+\tStop when a given path disappears from the tree.\n+\n+--full-history::\n+\n+\tShow also parts of history irrelevant to current state of a given\n+\tpath. This turns off history simplification, which removed merges\n+\twhich didn't change anything at all at some child. It will still actually\n+\tsimplify away merges that didn't change anything at all into either\n+\tchild.\n+\n+--no-merges::\n+\n+\tDo not print commits with more than one parent.\n+\n+--first-parent::\n+\tFollow only the first parent commit upon seeing a merge\n+\tcommit.  This option can give a better overview when\n+\tviewing the evolution of a particular topic branch,\n+\tbecause merges into a topic branch tend to be only about\n+\tadjusting to updated upstream from time to time, and\n+\tthis option allows you to ignore the individual commits\n+\tbrought in to your history by such a merge.\n+\n+--not::\n+\n+\tReverses the meaning of the '{caret}' prefix (or lack thereof)\n+\tfor all following revision specifiers, up to the next '--not'.\n+\n+--all::\n+\n+\tPretend as if all the refs in `$GIT_DIR/refs/` are listed on the\n+\tcommand line as '<commit>'.\n+\n+--stdin::\n+\n+\tIn addition to the '<commit>' listed on the command\n+\tline, read them from the standard input.\n+\n+--quiet::\n+\n+\tDon't print anything to standard output.  This form of\n+\tgit-rev-list is primarily meant to allow the caller to\n+\ttest the exit status to see if a range of objects is fully\n+\tconnected (or not).  It is faster than redirecting stdout\n+\tto /dev/null as the output does not have to be formatted.\n+\n+--cherry-pick::\n+\n+\tOmit any commit that introduces the same change as\n+\tanother commit on the \"other side\" when the set of\n+\tcommits are limited with symmetric difference.\n++\n+For example, if you have two branches, `A` and `B`, a usual way\n+to list all commits on only one side of them is with\n+`--left-right`, like the example above in the description of\n+that option.  It however shows the commits that were cherry-picked\n+from the other branch (for example, \"3rd on b\" may be cherry-picked\n+from branch A).  With this option, such pairs of commits are\n+excluded from the output.\n+\n+-g, --walk-reflogs::\n+\n+\tInstead of walking the commit ancestry chain, walk\n+\treflog entries from the most recent one to older ones.\n+\tWhen this option is used you cannot specify commits to\n+\texclude (that is, '{caret}commit', 'commit1..commit2',\n+\tnor 'commit1...commit2' notations cannot be used).\n++\n+With '\\--pretty' format other than oneline (for obvious reasons),\n+this causes the output to have two extra lines of information\n+taken from the reflog.  By default, 'commit@\\{Nth}' notation is\n+used in the output.  When the starting commit is specified as\n+'commit@{now}', output also uses 'commit@\\{timestamp}' notation\n+instead.  Under '\\--pretty=oneline', the commit message is\n+prefixed with this information on the same line.\n+\n+Cannot be combined with '\\--reverse'.\n+\n+--merge::\n+\n+\tAfter a failed merge, show refs that touch files having a\n+\tconflict and don't exist on all heads to merge.\n+\n+--boundary::\n+\n+\tOutput uninteresting commits at the boundary, which are usually\n+\tnot shown.\n+\n+--dense, --sparse::\n+\n+When optional paths are given, the default behaviour ('--dense') is to\n+only output commits that changes at least one of them, and also ignore\n+merges that do not touch the given paths.\n+\n+Use the '--sparse' flag to makes the command output all eligible commits\n+(still subject to count and age limitation), but apply merge\n+simplification nevertheless.\n+\n+--bisect::\n+\n+Limit output to the one commit object which is roughly halfway between\n+the included and excluded commits. Thus, if\n+\n+-----------------------------------------------------------------------\n+\t$ git-rev-list --bisect foo ^bar ^baz\n+-----------------------------------------------------------------------\n+\n+outputs 'midpoint', the output of the two commands\n+\n+-----------------------------------------------------------------------\n+\t$ git-rev-list foo ^midpoint\n+\t$ git-rev-list midpoint ^bar ^baz\n+-----------------------------------------------------------------------\n+\n+would be of roughly the same length.  Finding the change which\n+introduces a regression is thus reduced to a binary search: repeatedly\n+generate and test new 'midpoint's until the commit chain is of length\n+one.\n+\n+--bisect-vars::\n+\n+This calculates the same as `--bisect`, but outputs text ready\n+to be eval'ed by the shell. These lines will assign the name of\n+the midpoint revision to the variable `bisect_rev`, and the\n+expected number of commits to be tested after `bisect_rev` is\n+tested to `bisect_nr`, the expected number of commits to be\n+tested if `bisect_rev` turns out to be good to `bisect_good`,\n+the expected number of commits to be tested if `bisect_rev`\n+turns out to be bad to `bisect_bad`, and the number of commits\n+we are bisecting right now to `bisect_all`.\n+\n+--bisect-all::\n+\n+This outputs all the commit objects between the included and excluded\n+commits, ordered by their distance to the included and excluded\n+commits. The farthest from them is displayed first. (This is the only\n+one displayed by `--bisect`.)\n+\n+This is useful because it makes it easy to choose a good commit to\n+test when you want to avoid to test some of them for some reason (they\n+may not compile for example).\n+\n+This option can be used along with `--bisect-vars`, in this case,\n+after all the sorted commit objects, there will be the same text as if\n+`--bisect-vars` had been used alone.\n+\n+--\n+\n+Commit Ordering\n+~~~~~~~~~~~~~~~\n+\n+By default, the commits are shown in reverse chronological order.\n+\n+--topo-order::\n+\n+\tThis option makes them appear in topological order (i.e.\n+\tdescendant commits are shown before their parents).\n+\n+--date-order::\n+\n+\tThis option is similar to '--topo-order' in the sense that no\n+\tparent comes before all of its children, but otherwise things\n+\tare still ordered in the commit timestamp order.\n+\n+--reverse::\n+\n+\tOutput the commits in reverse order.\n+\tCannot be combined with '\\--walk-reflogs'.\n+\n+Object Traversal\n+~~~~~~~~~~~~~~~~\n+\n+These options are mostly targeted for packing of git repositories.\n+\n+--objects::\n+\n+\tPrint the object IDs of any object referenced by the listed\n+\tcommits.  'git-rev-list --objects foo ^bar' thus means \"send me\n+\tall object IDs which I need to download if I have the commit\n+\tobject 'bar', but not 'foo'\".\n+\n+--objects-edge::\n+\n+\tSimilar to '--objects', but also print the IDs of excluded\n+\tcommits prefixed with a \"-\" character.  This is used by\n+\tlinkgit:git-pack-objects[1] to build \"thin\" pack, which records\n+\tobjects in deltified form based on objects contained in these\n+\texcluded commits to reduce network traffic.\n+\n+--unpacked::\n+\n+\tOnly useful with '--objects'; print the object IDs that are not\n+\tin packs.\n+\n+--no-walk::\n+\n+\tOnly show the given revs, but do not traverse their ancestors.\n+\n+--do-walk::\n+\n+\tOverrides a previous --no-walk.\n-- \n1.5.4.rc3.4.g16335-dirty\n"},{"id":"65827","messageId":"7vejcfiop4.fsf@gitster.siamese.dyndns.org","threadId":"11660","inReplyTo":"20080117214425.GP29972@genesis.frugalware.org","subject":"Re: [PATCH] Include rev-list options in git-log manpage.","fromName":"Junio C Hamano","fromEmail":"gitster@pobox.com","sentAt":"2008-01-18T07:21:27Z","receivedAt":"2008-01-18T07:21:27Z","isPatch":true,"sender":{"key":"gitster@pobox.com","avatar":"https://avatars.githubusercontent.com/u/54884?v=4"},"body":"Miklos Vajna <vmiklos@frugalware.org> writes:\n\n> It seems that all the git-rev-list options (--grep, --author, etc) were missing\n> from the git-log manpage. This can be quite problematic if one does not know\n> that git-log accepts the options of git-rev-list.\n>\n> So move these options to a separate file and include it from both\n> git-rev-list.txt and git-log.txt.\n>\n> Signed-off-by: Miklos Vajna <vmiklos@frugalware.org>\n> ---\n>\n> Noticed by tsuna on IRC. I hope this is okay for 1.5.4.\n\nHave you generated documentation with and without patch and run\ndiff between them?\n\nThere is an obvious duplicated inclusion of pretty-options.txt[]\nin git-log.{1,html}.\n\nIn addition, this part\n\n> -Commit Formatting\n> -~~~~~~~~~~~~~~~~~\n> -\n> -Using these options, linkgit:git-rev-list[1] will act similar to the\n> -more specialized family of commit log tools: linkgit:git-log[1],\n> -linkgit:git-show[1], and linkgit:git-whatchanged[1]\n\nis _clearly_ written for git-rev-list and unsuitable for any of\nthe commands listed above.\n\ngit-log manual page has been saying that \"This manual page\ndescribes only the most frequently used options.\"  I would agree\nthat it is a laudable goal to replace that sentence with an\nincluded common source text, but there needs to be a bit more\ncareful copyediting than your a patch.\n"},{"id":"65892","messageId":"20080118161714.GS29972@genesis.frugalware.org","threadId":"11660","inReplyTo":"7vejcfiop4.fsf@gitster.siamese.dyndns.org","subject":"[PATCH] Include rev-list options in git-log manpage.","fromName":"Miklos Vajna","fromEmail":"vmiklos@frugalware.org","sentAt":"2008-01-18T16:17:14Z","receivedAt":"2008-01-18T16:17:14Z","isPatch":true,"sender":{"key":"vmiklos@frugalware.org","avatar":"https://gravatar.com/avatar/401c1cbbb3a5d13e650c691a2c71d6fd0b80df1a01bc74d9f1972675dd58f2bd?d=mp&s=160"},"body":"Replace the \"This manual page describes only the most frequently used options.\"\ntext with the list of rev-list options in git-log manpage. (The git-diff-tree\noptions are already included.)\n\nMove these options to a separate file and include it from both\ngit-rev-list.txt and git-log.txt.\n\nSigned-off-by: Miklos Vajna <vmiklos@frugalware.org>\n---\n\nOn Thu, Jan 17, 2008 at 11:21:27PM -0800, Junio C Hamano <gitster@pobox.com> wrote:\n> Have you generated documentation with and without patch and run\n> diff between them?\n\nYes and no. I generated the documentation, but I forgot to diff the\nresult with the old one. :-/\n\n> There is an obvious duplicated inclusion of pretty-options.txt[]\n> in git-log.{1,html}.\n\nI missed that one. Now should be fixed. Also there were other duplicated\noptions like --first-parent and -g.\n\n> In addition, this part\n>\n> > -Commit Formatting\n> > -~~~~~~~~~~~~~~~~~\n> > -\n> > -Using these options, linkgit:git-rev-list[1] will act similar to the\n> > -more specialized family of commit log tools: linkgit:git-log[1],\n> > -linkgit:git-show[1], and linkgit:git-whatchanged[1]\n>\n> is _clearly_ written for git-rev-list and unsuitable for any of\n> the commands listed above.\n\nFixed. Also the other occurences, like --objects, where the text was\nspecific to rev-list as well.\n\n> git-log manual page has been saying that \"This manual page\n> describes only the most frequently used options.\"  I would agree\n> that it is a laudable goal to replace that sentence with an\n> included common source text, but there needs to be a bit more\n> careful copyediting than your a patch.\n\nAs the git-diff-tree options were already included, and this patch\nadds the git-rev-list options, I removed this text.\n\n Documentation/git-log.txt          |    6 +-\n Documentation/git-rev-list.txt     |  358 +-----------------------------------\n Documentation/rev-list-options.txt |  364 ++++++++++++++++++++++++++++++++++++\n 3 files changed, 367 insertions(+), 361 deletions(-)\n create mode 100644 Documentation/rev-list-options.txt\n\ndiff --git a/Documentation/git-log.txt b/Documentation/git-log.txt\nindex 5985f47..e981618 100644\n--- a/Documentation/git-log.txt\n+++ b/Documentation/git-log.txt\n@@ -19,14 +19,10 @@ command to control what is shown and how, and options applicable to\n the linkgit:git-diff-tree[1] commands to control how the changes\n each commit introduces are shown.\n \n-This manual page describes only the most frequently used options.\n-\n \n OPTIONS\n -------\n \n-include::pretty-options.txt[]\n-\n :git-log: 1\n include::diff-options.txt[]\n \n@@ -80,6 +76,8 @@ include::diff-options.txt[]\n \tShow only commits that affect the specified paths.\n \n \n+include::rev-list-options.txt[]\n+\n include::pretty-formats.txt[]\n \n include::diff-generate-patch.txt[]\ndiff --git a/Documentation/git-rev-list.txt b/Documentation/git-rev-list.txt\nindex db42cd8..6a4b0cf 100644\n--- a/Documentation/git-rev-list.txt\n+++ b/Documentation/git-rev-list.txt\n@@ -88,363 +88,7 @@ linkgit:git-repack[1].\n OPTIONS\n -------\n \n-Commit Formatting\n-~~~~~~~~~~~~~~~~~\n-\n-Using these options, linkgit:git-rev-list[1] will act similar to the\n-more specialized family of commit log tools: linkgit:git-log[1],\n-linkgit:git-show[1], and linkgit:git-whatchanged[1]\n-\n-include::pretty-options.txt[]\n-\n---relative-date::\n-\n-\tSynonym for `--date=relative`.\n-\n---date={relative,local,default,iso,rfc}::\n-\n-\tOnly takes effect for dates shown in human-readable format, such\n-\tas when using \"--pretty\".\n-+\n-`--date=relative` shows dates relative to the current time,\n-e.g. \"2 hours ago\".\n-+\n-`--date=local` shows timestamps in user's local timezone.\n-+\n-`--date=iso` (or `--date=iso8601`) shows timestamps in ISO 8601 format.\n-+\n-`--date=rfc` (or `--date=rfc2822`) shows timestamps in RFC 2822\n-format, often found in E-mail messages.\n-+\n-`--date=short` shows only date but not time, in `YYYY-MM-DD` format.\n-+\n-`--date=default` shows timestamps in the original timezone\n-(either committer's or author's).\n-\n---header::\n-\n-\tPrint the contents of the commit in raw-format; each record is\n-\tseparated with a NUL character.\n-\n---parents::\n-\n-\tPrint the parents of the commit.\n-\n---timestamp::\n-\tPrint the raw commit timestamp.\n-\n---left-right::\n-\n-\tMark which side of a symmetric diff a commit is reachable from.\n-\tCommits from the left side are prefixed with `<` and those from\n-\tthe right with `>`.  If combined with `--boundary`, those\n-\tcommits are prefixed with `-`.\n-+\n-For example, if you have this topology:\n-+\n------------------------------------------------------------------------\n-             y---b---b  branch B\n-            / \\ /\n-           /   .\n-          /   / \\\n-         o---x---a---a  branch A\n------------------------------------------------------------------------\n-+\n-you would get an output line this:\n-+\n------------------------------------------------------------------------\n-\t$ git rev-list --left-right --boundary --pretty=oneline A...B\n-\n-\t>bbbbbbb... 3rd on b\n-\t>bbbbbbb... 2nd on b\n-\t<aaaaaaa... 3rd on a\n-\t<aaaaaaa... 2nd on a\n-\t-yyyyyyy... 1st on b\n-\t-xxxxxxx... 1st on a\n------------------------------------------------------------------------\n-\n-Diff Formatting\n-~~~~~~~~~~~~~~~\n-\n-Below are listed options that control the formatting of diff output.\n-Some of them are specific to linkgit:git-rev-list[1], however other diff\n-options may be given. See linkgit:git-diff-files[1] for more options.\n-\n--c::\n-\n-\tThis flag changes the way a merge commit is displayed.  It shows\n-\tthe differences from each of the parents to the merge result\n-\tsimultaneously instead of showing pairwise diff between a parent\n-\tand the result one at a time. Furthermore, it lists only files\n-\twhich were modified from all parents.\n-\n---cc::\n-\n-\tThis flag implies the '-c' options and further compresses the\n-\tpatch output by omitting hunks that show differences from only\n-\tone parent, or show the same change from all but one parent for\n-\tan Octopus merge.\n-\n--r::\n-\n-\tShow recursive diffs.\n-\n--t::\n-\n-\tShow the tree objects in the diff output. This implies '-r'.\n-\n-Commit Limiting\n-~~~~~~~~~~~~~~~\n-\n-Besides specifying a range of commits that should be listed using the\n-special notations explained in the description, additional commit\n-limiting may be applied.\n-\n---\n-\n--n 'number', --max-count='number'::\n-\n-\tLimit the number of commits output.\n-\n---skip='number'::\n-\n-\tSkip 'number' commits before starting to show the commit output.\n-\n---since='date', --after='date'::\n-\n-\tShow commits more recent than a specific date.\n-\n---until='date', --before='date'::\n-\n-\tShow commits older than a specific date.\n-\n---max-age='timestamp', --min-age='timestamp'::\n-\n-\tLimit the commits output to specified time range.\n-\n---author='pattern', --committer='pattern'::\n-\n-\tLimit the commits output to ones with author/committer\n-\theader lines that match the specified pattern (regular expression).\n-\n---grep='pattern'::\n-\n-\tLimit the commits output to ones with log message that\n-\tmatches the specified pattern (regular expression).\n-\n--i, --regexp-ignore-case::\n-\n-\tMatch the regexp limiting patterns without regard to letters case.\n-\n--E, --extended-regexp::\n-\n-\tConsider the limiting patterns to be extended regular expressions\n-\tinstead of the default basic regular expressions.\n-\n---remove-empty::\n-\n-\tStop when a given path disappears from the tree.\n-\n---full-history::\n-\n-\tShow also parts of history irrelevant to current state of a given\n-\tpath. This turns off history simplification, which removed merges\n-\twhich didn't change anything at all at some child. It will still actually\n-\tsimplify away merges that didn't change anything at all into either\n-\tchild.\n-\n---no-merges::\n-\n-\tDo not print commits with more than one parent.\n-\n---first-parent::\n-\tFollow only the first parent commit upon seeing a merge\n-\tcommit.  This option can give a better overview when\n-\tviewing the evolution of a particular topic branch,\n-\tbecause merges into a topic branch tend to be only about\n-\tadjusting to updated upstream from time to time, and\n-\tthis option allows you to ignore the individual commits\n-\tbrought in to your history by such a merge.\n-\n---not::\n-\n-\tReverses the meaning of the '{caret}' prefix (or lack thereof)\n-\tfor all following revision specifiers, up to the next '--not'.\n-\n---all::\n-\n-\tPretend as if all the refs in `$GIT_DIR/refs/` are listed on the\n-\tcommand line as '<commit>'.\n-\n---stdin::\n-\n-\tIn addition to the '<commit>' listed on the command\n-\tline, read them from the standard input.\n-\n---quiet::\n-\n-\tDon't print anything to standard output.  This form of\n-\tgit-rev-list is primarily meant to allow the caller to\n-\ttest the exit status to see if a range of objects is fully\n-\tconnected (or not).  It is faster than redirecting stdout\n-\tto /dev/null as the output does not have to be formatted.\n-\n---cherry-pick::\n-\n-\tOmit any commit that introduces the same change as\n-\tanother commit on the \"other side\" when the set of\n-\tcommits are limited with symmetric difference.\n-+\n-For example, if you have two branches, `A` and `B`, a usual way\n-to list all commits on only one side of them is with\n-`--left-right`, like the example above in the description of\n-that option.  It however shows the commits that were cherry-picked\n-from the other branch (for example, \"3rd on b\" may be cherry-picked\n-from branch A).  With this option, such pairs of commits are\n-excluded from the output.\n-\n--g, --walk-reflogs::\n-\n-\tInstead of walking the commit ancestry chain, walk\n-\treflog entries from the most recent one to older ones.\n-\tWhen this option is used you cannot specify commits to\n-\texclude (that is, '{caret}commit', 'commit1..commit2',\n-\tnor 'commit1...commit2' notations cannot be used).\n-+\n-With '\\--pretty' format other than oneline (for obvious reasons),\n-this causes the output to have two extra lines of information\n-taken from the reflog.  By default, 'commit@\\{Nth}' notation is\n-used in the output.  When the starting commit is specified as\n-'commit@{now}', output also uses 'commit@\\{timestamp}' notation\n-instead.  Under '\\--pretty=oneline', the commit message is\n-prefixed with this information on the same line.\n-\n-Cannot be combined with '\\--reverse'.\n-\n---merge::\n-\n-\tAfter a failed merge, show refs that touch files having a\n-\tconflict and don't exist on all heads to merge.\n-\n---boundary::\n-\n-\tOutput uninteresting commits at the boundary, which are usually\n-\tnot shown.\n-\n---dense, --sparse::\n-\n-When optional paths are given, the default behaviour ('--dense') is to\n-only output commits that changes at least one of them, and also ignore\n-merges that do not touch the given paths.\n-\n-Use the '--sparse' flag to makes the command output all eligible commits\n-(still subject to count and age limitation), but apply merge\n-simplification nevertheless.\n-\n---bisect::\n-\n-Limit output to the one commit object which is roughly halfway between\n-the included and excluded commits. Thus, if\n-\n------------------------------------------------------------------------\n-\t$ git-rev-list --bisect foo ^bar ^baz\n------------------------------------------------------------------------\n-\n-outputs 'midpoint', the output of the two commands\n-\n------------------------------------------------------------------------\n-\t$ git-rev-list foo ^midpoint\n-\t$ git-rev-list midpoint ^bar ^baz\n------------------------------------------------------------------------\n-\n-would be of roughly the same length.  Finding the change which\n-introduces a regression is thus reduced to a binary search: repeatedly\n-generate and test new 'midpoint's until the commit chain is of length\n-one.\n-\n---bisect-vars::\n-\n-This calculates the same as `--bisect`, but outputs text ready\n-to be eval'ed by the shell. These lines will assign the name of\n-the midpoint revision to the variable `bisect_rev`, and the\n-expected number of commits to be tested after `bisect_rev` is\n-tested to `bisect_nr`, the expected number of commits to be\n-tested if `bisect_rev` turns out to be good to `bisect_good`,\n-the expected number of commits to be tested if `bisect_rev`\n-turns out to be bad to `bisect_bad`, and the number of commits\n-we are bisecting right now to `bisect_all`.\n-\n---bisect-all::\n-\n-This outputs all the commit objects between the included and excluded\n-commits, ordered by their distance to the included and excluded\n-commits. The farthest from them is displayed first. (This is the only\n-one displayed by `--bisect`.)\n-\n-This is useful because it makes it easy to choose a good commit to\n-test when you want to avoid to test some of them for some reason (they\n-may not compile for example).\n-\n-This option can be used along with `--bisect-vars`, in this case,\n-after all the sorted commit objects, there will be the same text as if\n-`--bisect-vars` had been used alone.\n-\n---\n-\n-Commit Ordering\n-~~~~~~~~~~~~~~~\n-\n-By default, the commits are shown in reverse chronological order.\n-\n---topo-order::\n-\n-\tThis option makes them appear in topological order (i.e.\n-\tdescendant commits are shown before their parents).\n-\n---date-order::\n-\n-\tThis option is similar to '--topo-order' in the sense that no\n-\tparent comes before all of its children, but otherwise things\n-\tare still ordered in the commit timestamp order.\n-\n---reverse::\n-\n-\tOutput the commits in reverse order.\n-\tCannot be combined with '\\--walk-reflogs'.\n-\n-Object Traversal\n-~~~~~~~~~~~~~~~~\n-\n-These options are mostly targeted for packing of git repositories.\n-\n---objects::\n-\n-\tPrint the object IDs of any object referenced by the listed\n-\tcommits.  'git-rev-list --objects foo ^bar' thus means \"send me\n-\tall object IDs which I need to download if I have the commit\n-\tobject 'bar', but not 'foo'\".\n-\n---objects-edge::\n-\n-\tSimilar to '--objects', but also print the IDs of excluded\n-\tcommits prefixed with a \"-\" character.  This is used by\n-\tlinkgit:git-pack-objects[1] to build \"thin\" pack, which records\n-\tobjects in deltified form based on objects contained in these\n-\texcluded commits to reduce network traffic.\n-\n---unpacked::\n-\n-\tOnly useful with '--objects'; print the object IDs that are not\n-\tin packs.\n-\n---no-walk::\n-\n-\tOnly show the given revs, but do not traverse their ancestors.\n-\n---do-walk::\n-\n-\tOverrides a previous --no-walk.\n-\n+include::rev-list-options.txt[]\n \n include::pretty-formats.txt[]\n \ndiff --git a/Documentation/rev-list-options.txt b/Documentation/rev-list-options.txt\nnew file mode 100644\nindex 0000000..1b0bc27\n--- /dev/null\n+++ b/Documentation/rev-list-options.txt\n@@ -0,0 +1,364 @@\n+Commit Formatting\n+~~~~~~~~~~~~~~~~~\n+\n+ifndef::git-log[]\n+Using these options, linkgit:git-rev-list[1] will act similar to the\n+more specialized family of commit log tools: linkgit:git-log[1],\n+linkgit:git-show[1], and linkgit:git-whatchanged[1]\n+endif::git-log[]\n+\n+include::pretty-options.txt[]\n+\n+--relative-date::\n+\n+\tSynonym for `--date=relative`.\n+\n+--date={relative,local,default,iso,rfc}::\n+\n+\tOnly takes effect for dates shown in human-readable format, such\n+\tas when using \"--pretty\".\n++\n+`--date=relative` shows dates relative to the current time,\n+e.g. \"2 hours ago\".\n++\n+`--date=local` shows timestamps in user's local timezone.\n++\n+`--date=iso` (or `--date=iso8601`) shows timestamps in ISO 8601 format.\n++\n+`--date=rfc` (or `--date=rfc2822`) shows timestamps in RFC 2822\n+format, often found in E-mail messages.\n++\n+`--date=short` shows only date but not time, in `YYYY-MM-DD` format.\n++\n+`--date=default` shows timestamps in the original timezone\n+(either committer's or author's).\n+\n+--header::\n+\n+\tPrint the contents of the commit in raw-format; each record is\n+\tseparated with a NUL character.\n+\n+--parents::\n+\n+\tPrint the parents of the commit.\n+\n+--timestamp::\n+\tPrint the raw commit timestamp.\n+\n+--left-right::\n+\n+\tMark which side of a symmetric diff a commit is reachable from.\n+\tCommits from the left side are prefixed with `<` and those from\n+\tthe right with `>`.  If combined with `--boundary`, those\n+\tcommits are prefixed with `-`.\n++\n+For example, if you have this topology:\n++\n+-----------------------------------------------------------------------\n+             y---b---b  branch B\n+            / \\ /\n+           /   .\n+          /   / \\\n+         o---x---a---a  branch A\n+-----------------------------------------------------------------------\n++\n+you would get an output line this:\n++\n+-----------------------------------------------------------------------\n+\t$ git rev-list --left-right --boundary --pretty=oneline A...B\n+\n+\t>bbbbbbb... 3rd on b\n+\t>bbbbbbb... 2nd on b\n+\t<aaaaaaa... 3rd on a\n+\t<aaaaaaa... 2nd on a\n+\t-yyyyyyy... 1st on b\n+\t-xxxxxxx... 1st on a\n+-----------------------------------------------------------------------\n+\n+Diff Formatting\n+~~~~~~~~~~~~~~~\n+\n+Below are listed options that control the formatting of diff output.\n+Some of them are specific to linkgit:git-rev-list[1], however other diff\n+options may be given. See linkgit:git-diff-files[1] for more options.\n+\n+-c::\n+\n+\tThis flag changes the way a merge commit is displayed.  It shows\n+\tthe differences from each of the parents to the merge result\n+\tsimultaneously instead of showing pairwise diff between a parent\n+\tand the result one at a time. Furthermore, it lists only files\n+\twhich were modified from all parents.\n+\n+--cc::\n+\n+\tThis flag implies the '-c' options and further compresses the\n+\tpatch output by omitting hunks that show differences from only\n+\tone parent, or show the same change from all but one parent for\n+\tan Octopus merge.\n+\n+-r::\n+\n+\tShow recursive diffs.\n+\n+-t::\n+\n+\tShow the tree objects in the diff output. This implies '-r'.\n+\n+Commit Limiting\n+~~~~~~~~~~~~~~~\n+\n+Besides specifying a range of commits that should be listed using the\n+special notations explained in the description, additional commit\n+limiting may be applied.\n+\n+--\n+\n+-n 'number', --max-count='number'::\n+\n+\tLimit the number of commits output.\n+\n+--skip='number'::\n+\n+\tSkip 'number' commits before starting to show the commit output.\n+\n+--since='date', --after='date'::\n+\n+\tShow commits more recent than a specific date.\n+\n+--until='date', --before='date'::\n+\n+\tShow commits older than a specific date.\n+\n+--max-age='timestamp', --min-age='timestamp'::\n+\n+\tLimit the commits output to specified time range.\n+\n+--author='pattern', --committer='pattern'::\n+\n+\tLimit the commits output to ones with author/committer\n+\theader lines that match the specified pattern (regular expression).\n+\n+--grep='pattern'::\n+\n+\tLimit the commits output to ones with log message that\n+\tmatches the specified pattern (regular expression).\n+\n+-i, --regexp-ignore-case::\n+\n+\tMatch the regexp limiting patterns without regard to letters case.\n+\n+-E, --extended-regexp::\n+\n+\tConsider the limiting patterns to be extended regular expressions\n+\tinstead of the default basic regular expressions.\n+\n+--remove-empty::\n+\n+\tStop when a given path disappears from the tree.\n+\n+--full-history::\n+\n+\tShow also parts of history irrelevant to current state of a given\n+\tpath. This turns off history simplification, which removed merges\n+\twhich didn't change anything at all at some child. It will still actually\n+\tsimplify away merges that didn't change anything at all into either\n+\tchild.\n+\n+--no-merges::\n+\n+\tDo not print commits with more than one parent.\n+\n+ifndef::git-log[]\n+--first-parent::\n+\tFollow only the first parent commit upon seeing a merge\n+\tcommit.  This option can give a better overview when\n+\tviewing the evolution of a particular topic branch,\n+\tbecause merges into a topic branch tend to be only about\n+\tadjusting to updated upstream from time to time, and\n+\tthis option allows you to ignore the individual commits\n+\tbrought in to your history by such a merge.\n+endif::git-log[]\n+\n+--not::\n+\n+\tReverses the meaning of the '{caret}' prefix (or lack thereof)\n+\tfor all following revision specifiers, up to the next '--not'.\n+\n+--all::\n+\n+\tPretend as if all the refs in `$GIT_DIR/refs/` are listed on the\n+\tcommand line as '<commit>'.\n+\n+--stdin::\n+\n+\tIn addition to the '<commit>' listed on the command\n+\tline, read them from the standard input.\n+\n+--quiet::\n+\n+\tDon't print anything to standard output.  This form\n+\tis primarily meant to allow the caller to\n+\ttest the exit status to see if a range of objects is fully\n+\tconnected (or not).  It is faster than redirecting stdout\n+\tto /dev/null as the output does not have to be formatted.\n+\n+--cherry-pick::\n+\n+\tOmit any commit that introduces the same change as\n+\tanother commit on the \"other side\" when the set of\n+\tcommits are limited with symmetric difference.\n++\n+For example, if you have two branches, `A` and `B`, a usual way\n+to list all commits on only one side of them is with\n+`--left-right`, like the example above in the description of\n+that option.  It however shows the commits that were cherry-picked\n+from the other branch (for example, \"3rd on b\" may be cherry-picked\n+from branch A).  With this option, such pairs of commits are\n+excluded from the output.\n+\n+ifndef::git-log[]\n+-g, --walk-reflogs::\n+\n+\tInstead of walking the commit ancestry chain, walk\n+\treflog entries from the most recent one to older ones.\n+\tWhen this option is used you cannot specify commits to\n+\texclude (that is, '{caret}commit', 'commit1..commit2',\n+\tnor 'commit1...commit2' notations cannot be used).\n++\n+With '\\--pretty' format other than oneline (for obvious reasons),\n+this causes the output to have two extra lines of information\n+taken from the reflog.  By default, 'commit@\\{Nth}' notation is\n+used in the output.  When the starting commit is specified as\n+'commit@{now}', output also uses 'commit@\\{timestamp}' notation\n+instead.  Under '\\--pretty=oneline', the commit message is\n+prefixed with this information on the same line.\n+\n+Cannot be combined with '\\--reverse'.\n+endif::git-log[]\n+\n+--merge::\n+\n+\tAfter a failed merge, show refs that touch files having a\n+\tconflict and don't exist on all heads to merge.\n+\n+--boundary::\n+\n+\tOutput uninteresting commits at the boundary, which are usually\n+\tnot shown.\n+\n+--dense, --sparse::\n+\n+When optional paths are given, the default behaviour ('--dense') is to\n+only output commits that changes at least one of them, and also ignore\n+merges that do not touch the given paths.\n+\n+Use the '--sparse' flag to makes the command output all eligible commits\n+(still subject to count and age limitation), but apply merge\n+simplification nevertheless.\n+\n+ifndef::git-log[]\n+--bisect::\n+\n+Limit output to the one commit object which is roughly halfway between\n+the included and excluded commits. Thus, if\n+\n+-----------------------------------------------------------------------\n+\t$ git-rev-list --bisect foo ^bar ^baz\n+-----------------------------------------------------------------------\n+\n+outputs 'midpoint', the output of the two commands\n+\n+-----------------------------------------------------------------------\n+\t$ git-rev-list foo ^midpoint\n+\t$ git-rev-list midpoint ^bar ^baz\n+-----------------------------------------------------------------------\n+\n+would be of roughly the same length.  Finding the change which\n+introduces a regression is thus reduced to a binary search: repeatedly\n+generate and test new 'midpoint's until the commit chain is of length\n+one.\n+\n+--bisect-vars::\n+\n+This calculates the same as `--bisect`, but outputs text ready\n+to be eval'ed by the shell. These lines will assign the name of\n+the midpoint revision to the variable `bisect_rev`, and the\n+expected number of commits to be tested after `bisect_rev` is\n+tested to `bisect_nr`, the expected number of commits to be\n+tested if `bisect_rev` turns out to be good to `bisect_good`,\n+the expected number of commits to be tested if `bisect_rev`\n+turns out to be bad to `bisect_bad`, and the number of commits\n+we are bisecting right now to `bisect_all`.\n+\n+--bisect-all::\n+\n+This outputs all the commit objects between the included and excluded\n+commits, ordered by their distance to the included and excluded\n+commits. The farthest from them is displayed first. (This is the only\n+one displayed by `--bisect`.)\n+\n+This is useful because it makes it easy to choose a good commit to\n+test when you want to avoid to test some of them for some reason (they\n+may not compile for example).\n+\n+This option can be used along with `--bisect-vars`, in this case,\n+after all the sorted commit objects, there will be the same text as if\n+`--bisect-vars` had been used alone.\n+endif::git-log[]\n+\n+--\n+\n+Commit Ordering\n+~~~~~~~~~~~~~~~\n+\n+By default, the commits are shown in reverse chronological order.\n+\n+--topo-order::\n+\n+\tThis option makes them appear in topological order (i.e.\n+\tdescendant commits are shown before their parents).\n+\n+--date-order::\n+\n+\tThis option is similar to '--topo-order' in the sense that no\n+\tparent comes before all of its children, but otherwise things\n+\tare still ordered in the commit timestamp order.\n+\n+--reverse::\n+\n+\tOutput the commits in reverse order.\n+\tCannot be combined with '\\--walk-reflogs'.\n+\n+Object Traversal\n+~~~~~~~~~~~~~~~~\n+\n+These options are mostly targeted for packing of git repositories.\n+\n+--objects::\n+\n+\tPrint the object IDs of any object referenced by the listed\n+\tcommits.  '--objects foo ^bar' thus means \"send me\n+\tall object IDs which I need to download if I have the commit\n+\tobject 'bar', but not 'foo'\".\n+\n+--objects-edge::\n+\n+\tSimilar to '--objects', but also print the IDs of excluded\n+\tcommits prefixed with a \"-\" character.  This is used by\n+\tlinkgit:git-pack-objects[1] to build \"thin\" pack, which records\n+\tobjects in deltified form based on objects contained in these\n+\texcluded commits to reduce network traffic.\n+\n+--unpacked::\n+\n+\tOnly useful with '--objects'; print the object IDs that are not\n+\tin packs.\n+\n+--no-walk::\n+\n+\tOnly show the given revs, but do not traverse their ancestors.\n+\n+--do-walk::\n+\n+\tOverrides a previous --no-walk.\n-- \n1.5.4.rc3.4.g16335-dirty\n"},{"id":"65894","messageId":"4790D5B7.2000508@viscovery.net","threadId":"11660","inReplyTo":"20080118161714.GS29972@genesis.frugalware.org","subject":"Re: [PATCH] Include rev-list options in git-log manpage.","fromName":"Johannes Sixt","fromEmail":"j.sixt@viscovery.net","sentAt":"2008-01-18T16:37:11Z","receivedAt":"2008-01-18T16:37:11Z","isPatch":true,"sender":{"key":"j6t@kdbg.org","avatar":"https://avatars.githubusercontent.com/u/14810926?v=4"},"body":"Miklos Vajna schrieb:\n>  Documentation/git-log.txt          |    6 +-\n>  Documentation/git-rev-list.txt     |  358 +-----------------------------------\n>  Documentation/rev-list-options.txt |  364 ++++++++++++++++++++++++++++++++++++\n>  3 files changed, 367 insertions(+), 361 deletions(-)\n>  create mode 100644 Documentation/rev-list-options.txt\n\nHad you used format-patch -C then the patch would have been shorter by\n~240 lines. And it would have been immediately obvious that you have put\nthis inside ifndef::gitlog[] brackets:\n\n> +ifndef::git-log[]\n> +--first-parent::\n> +\tFollow only the first parent commit upon seeing a merge\n> +\tcommit.  This option can give a better overview when\n> +\tviewing the evolution of a particular topic branch,\n> +\tbecause merges into a topic branch tend to be only about\n> +\tadjusting to updated upstream from time to time, and\n> +\tthis option allows you to ignore the individual commits\n> +\tbrought in to your history by such a merge.\n> +endif::git-log[]\n\nI wonder why these brackets are necessary. This text applies to git-log,\ntoo, no? Can't you just remove that paragraph from git-log.txt?\n\n-- Hannes\n"},{"id":"65898","messageId":"20080118171827.GV29972@genesis.frugalware.org","threadId":"11660","inReplyTo":"4790D5B7.2000508@viscovery.net","subject":"[PATCH] Include rev-list options in git-log manpage.","fromName":"Miklos Vajna","fromEmail":"vmiklos@frugalware.org","sentAt":"2008-01-18T17:18:27Z","receivedAt":"2008-01-18T17:18:27Z","isPatch":true,"sender":{"key":"vmiklos@frugalware.org","avatar":"https://gravatar.com/avatar/401c1cbbb3a5d13e650c691a2c71d6fd0b80df1a01bc74d9f1972675dd58f2bd?d=mp&s=160"},"body":"Replace the \"This manual page describes only the most frequently used options.\"\ntext with the list of rev-list options in git-log manpage. (The git-diff-tree\noptions are already included.)\n\nMove these options to a separate file and include it from both\ngit-rev-list.txt and git-log.txt.\n\nSigned-off-by: Miklos Vajna <vmiklos@frugalware.org>\n---\n\nOn Fri, Jan 18, 2008 at 05:37:11PM +0100, Johannes Sixt <j.sixt@viscovery.net> wrote:\n> Had you used format-patch -C then the patch would have been shorter by\n> ~240 lines. And it would have been immediately obvious that you have put\n> this inside ifndef::gitlog[] brackets:\n>\n> > +ifndef::git-log[]\n> > +--first-parent::\n> > +   Follow only the first parent commit upon seeing a merge\n> > +   commit.  This option can give a better overview when\n> > +   viewing the evolution of a particular topic branch,\n> > +   because merges into a topic branch tend to be only about\n> > +   adjusting to updated upstream from time to time, and\n> > +   this option allows you to ignore the individual commits\n> > +   brought in to your history by such a merge.\n> > +endif::git-log[]\n>\n> I wonder why these brackets are necessary. This text applies to git-log,\n> too, no? Can't you just remove that paragraph from git-log.txt?\n\nOkay, now using -C :)\n\nAlso I removed the duplicated options from git-log.txt (--first-parent\nand -g) to avoid duplicated descriptions.\n\n Documentation/git-log.txt                          |   21 +-\n Documentation/git-rev-list.txt                     |  358 +-------------------\n .../{git-rev-list.txt => rev-list-options.txt}     |  118 +------\n 3 files changed, 11 insertions(+), 486 deletions(-)\n copy Documentation/{git-rev-list.txt => rev-list-options.txt} (76%)\n\ndiff --git a/Documentation/git-log.txt b/Documentation/git-log.txt\nindex 5985f47..ebaee4b 100644\n--- a/Documentation/git-log.txt\n+++ b/Documentation/git-log.txt\n@@ -19,14 +19,10 @@ command to control what is shown and how, and options applicable to\n the linkgit:git-diff-tree[1] commands to control how the changes\n each commit introduces are shown.\n \n-This manual page describes only the most frequently used options.\n-\n \n OPTIONS\n -------\n \n-include::pretty-options.txt[]\n-\n :git-log: 1\n include::diff-options.txt[]\n \n@@ -41,21 +37,6 @@ include::diff-options.txt[]\n \tand <until>, see \"SPECIFYING REVISIONS\" section in\n \tlinkgit:git-rev-parse[1].\n \n---first-parent::\n-\tFollow only the first parent commit upon seeing a merge\n-\tcommit.  This option can give a better overview when\n-\tviewing the evolution of a particular topic branch,\n-\tbecause merges into a topic branch tend to be only about\n-\tadjusting to updated upstream from time to time, and\n-\tthis option allows you to ignore the individual commits\n-\tbrought in to your history by such a merge.\n-\n--g, \\--walk-reflogs::\n-\tShow commits as they were recorded in the reflog. The log contains\n-\ta record about how the tip of a reference was changed.\n-\tCannot be combined with --reverse.\n-\tSee also linkgit:git-reflog[1].\n-\n --decorate::\n \tPrint out the ref names of any commits that are shown.\n \n@@ -80,6 +61,8 @@ include::diff-options.txt[]\n \tShow only commits that affect the specified paths.\n \n \n+include::rev-list-options.txt[]\n+\n include::pretty-formats.txt[]\n \n include::diff-generate-patch.txt[]\ndiff --git a/Documentation/git-rev-list.txt b/Documentation/git-rev-list.txt\nindex db42cd8..6a4b0cf 100644\n--- a/Documentation/git-rev-list.txt\n+++ b/Documentation/git-rev-list.txt\n@@ -88,363 +88,7 @@ linkgit:git-repack[1].\n OPTIONS\n -------\n \n-Commit Formatting\n-~~~~~~~~~~~~~~~~~\n-\n-Using these options, linkgit:git-rev-list[1] will act similar to the\n-more specialized family of commit log tools: linkgit:git-log[1],\n-linkgit:git-show[1], and linkgit:git-whatchanged[1]\n-\n-include::pretty-options.txt[]\n-\n---relative-date::\n-\n-\tSynonym for `--date=relative`.\n-\n---date={relative,local,default,iso,rfc}::\n-\n-\tOnly takes effect for dates shown in human-readable format, such\n-\tas when using \"--pretty\".\n-+\n-`--date=relative` shows dates relative to the current time,\n-e.g. \"2 hours ago\".\n-+\n-`--date=local` shows timestamps in user's local timezone.\n-+\n-`--date=iso` (or `--date=iso8601`) shows timestamps in ISO 8601 format.\n-+\n-`--date=rfc` (or `--date=rfc2822`) shows timestamps in RFC 2822\n-format, often found in E-mail messages.\n-+\n-`--date=short` shows only date but not time, in `YYYY-MM-DD` format.\n-+\n-`--date=default` shows timestamps in the original timezone\n-(either committer's or author's).\n-\n---header::\n-\n-\tPrint the contents of the commit in raw-format; each record is\n-\tseparated with a NUL character.\n-\n---parents::\n-\n-\tPrint the parents of the commit.\n-\n---timestamp::\n-\tPrint the raw commit timestamp.\n-\n---left-right::\n-\n-\tMark which side of a symmetric diff a commit is reachable from.\n-\tCommits from the left side are prefixed with `<` and those from\n-\tthe right with `>`.  If combined with `--boundary`, those\n-\tcommits are prefixed with `-`.\n-+\n-For example, if you have this topology:\n-+\n------------------------------------------------------------------------\n-             y---b---b  branch B\n-            / \\ /\n-           /   .\n-          /   / \\\n-         o---x---a---a  branch A\n------------------------------------------------------------------------\n-+\n-you would get an output line this:\n-+\n------------------------------------------------------------------------\n-\t$ git rev-list --left-right --boundary --pretty=oneline A...B\n-\n-\t>bbbbbbb... 3rd on b\n-\t>bbbbbbb... 2nd on b\n-\t<aaaaaaa... 3rd on a\n-\t<aaaaaaa... 2nd on a\n-\t-yyyyyyy... 1st on b\n-\t-xxxxxxx... 1st on a\n------------------------------------------------------------------------\n-\n-Diff Formatting\n-~~~~~~~~~~~~~~~\n-\n-Below are listed options that control the formatting of diff output.\n-Some of them are specific to linkgit:git-rev-list[1], however other diff\n-options may be given. See linkgit:git-diff-files[1] for more options.\n-\n--c::\n-\n-\tThis flag changes the way a merge commit is displayed.  It shows\n-\tthe differences from each of the parents to the merge result\n-\tsimultaneously instead of showing pairwise diff between a parent\n-\tand the result one at a time. Furthermore, it lists only files\n-\twhich were modified from all parents.\n-\n---cc::\n-\n-\tThis flag implies the '-c' options and further compresses the\n-\tpatch output by omitting hunks that show differences from only\n-\tone parent, or show the same change from all but one parent for\n-\tan Octopus merge.\n-\n--r::\n-\n-\tShow recursive diffs.\n-\n--t::\n-\n-\tShow the tree objects in the diff output. This implies '-r'.\n-\n-Commit Limiting\n-~~~~~~~~~~~~~~~\n-\n-Besides specifying a range of commits that should be listed using the\n-special notations explained in the description, additional commit\n-limiting may be applied.\n-\n---\n-\n--n 'number', --max-count='number'::\n-\n-\tLimit the number of commits output.\n-\n---skip='number'::\n-\n-\tSkip 'number' commits before starting to show the commit output.\n-\n---since='date', --after='date'::\n-\n-\tShow commits more recent than a specific date.\n-\n---until='date', --before='date'::\n-\n-\tShow commits older than a specific date.\n-\n---max-age='timestamp', --min-age='timestamp'::\n-\n-\tLimit the commits output to specified time range.\n-\n---author='pattern', --committer='pattern'::\n-\n-\tLimit the commits output to ones with author/committer\n-\theader lines that match the specified pattern (regular expression).\n-\n---grep='pattern'::\n-\n-\tLimit the commits output to ones with log message that\n-\tmatches the specified pattern (regular expression).\n-\n--i, --regexp-ignore-case::\n-\n-\tMatch the regexp limiting patterns without regard to letters case.\n-\n--E, --extended-regexp::\n-\n-\tConsider the limiting patterns to be extended regular expressions\n-\tinstead of the default basic regular expressions.\n-\n---remove-empty::\n-\n-\tStop when a given path disappears from the tree.\n-\n---full-history::\n-\n-\tShow also parts of history irrelevant to current state of a given\n-\tpath. This turns off history simplification, which removed merges\n-\twhich didn't change anything at all at some child. It will still actually\n-\tsimplify away merges that didn't change anything at all into either\n-\tchild.\n-\n---no-merges::\n-\n-\tDo not print commits with more than one parent.\n-\n---first-parent::\n-\tFollow only the first parent commit upon seeing a merge\n-\tcommit.  This option can give a better overview when\n-\tviewing the evolution of a particular topic branch,\n-\tbecause merges into a topic branch tend to be only about\n-\tadjusting to updated upstream from time to time, and\n-\tthis option allows you to ignore the individual commits\n-\tbrought in to your history by such a merge.\n-\n---not::\n-\n-\tReverses the meaning of the '{caret}' prefix (or lack thereof)\n-\tfor all following revision specifiers, up to the next '--not'.\n-\n---all::\n-\n-\tPretend as if all the refs in `$GIT_DIR/refs/` are listed on the\n-\tcommand line as '<commit>'.\n-\n---stdin::\n-\n-\tIn addition to the '<commit>' listed on the command\n-\tline, read them from the standard input.\n-\n---quiet::\n-\n-\tDon't print anything to standard output.  This form of\n-\tgit-rev-list is primarily meant to allow the caller to\n-\ttest the exit status to see if a range of objects is fully\n-\tconnected (or not).  It is faster than redirecting stdout\n-\tto /dev/null as the output does not have to be formatted.\n-\n---cherry-pick::\n-\n-\tOmit any commit that introduces the same change as\n-\tanother commit on the \"other side\" when the set of\n-\tcommits are limited with symmetric difference.\n-+\n-For example, if you have two branches, `A` and `B`, a usual way\n-to list all commits on only one side of them is with\n-`--left-right`, like the example above in the description of\n-that option.  It however shows the commits that were cherry-picked\n-from the other branch (for example, \"3rd on b\" may be cherry-picked\n-from branch A).  With this option, such pairs of commits are\n-excluded from the output.\n-\n--g, --walk-reflogs::\n-\n-\tInstead of walking the commit ancestry chain, walk\n-\treflog entries from the most recent one to older ones.\n-\tWhen this option is used you cannot specify commits to\n-\texclude (that is, '{caret}commit', 'commit1..commit2',\n-\tnor 'commit1...commit2' notations cannot be used).\n-+\n-With '\\--pretty' format other than oneline (for obvious reasons),\n-this causes the output to have two extra lines of information\n-taken from the reflog.  By default, 'commit@\\{Nth}' notation is\n-used in the output.  When the starting commit is specified as\n-'commit@{now}', output also uses 'commit@\\{timestamp}' notation\n-instead.  Under '\\--pretty=oneline', the commit message is\n-prefixed with this information on the same line.\n-\n-Cannot be combined with '\\--reverse'.\n-\n---merge::\n-\n-\tAfter a failed merge, show refs that touch files having a\n-\tconflict and don't exist on all heads to merge.\n-\n---boundary::\n-\n-\tOutput uninteresting commits at the boundary, which are usually\n-\tnot shown.\n-\n---dense, --sparse::\n-\n-When optional paths are given, the default behaviour ('--dense') is to\n-only output commits that changes at least one of them, and also ignore\n-merges that do not touch the given paths.\n-\n-Use the '--sparse' flag to makes the command output all eligible commits\n-(still subject to count and age limitation), but apply merge\n-simplification nevertheless.\n-\n---bisect::\n-\n-Limit output to the one commit object which is roughly halfway between\n-the included and excluded commits. Thus, if\n-\n------------------------------------------------------------------------\n-\t$ git-rev-list --bisect foo ^bar ^baz\n------------------------------------------------------------------------\n-\n-outputs 'midpoint', the output of the two commands\n-\n------------------------------------------------------------------------\n-\t$ git-rev-list foo ^midpoint\n-\t$ git-rev-list midpoint ^bar ^baz\n------------------------------------------------------------------------\n-\n-would be of roughly the same length.  Finding the change which\n-introduces a regression is thus reduced to a binary search: repeatedly\n-generate and test new 'midpoint's until the commit chain is of length\n-one.\n-\n---bisect-vars::\n-\n-This calculates the same as `--bisect`, but outputs text ready\n-to be eval'ed by the shell. These lines will assign the name of\n-the midpoint revision to the variable `bisect_rev`, and the\n-expected number of commits to be tested after `bisect_rev` is\n-tested to `bisect_nr`, the expected number of commits to be\n-tested if `bisect_rev` turns out to be good to `bisect_good`,\n-the expected number of commits to be tested if `bisect_rev`\n-turns out to be bad to `bisect_bad`, and the number of commits\n-we are bisecting right now to `bisect_all`.\n-\n---bisect-all::\n-\n-This outputs all the commit objects between the included and excluded\n-commits, ordered by their distance to the included and excluded\n-commits. The farthest from them is displayed first. (This is the only\n-one displayed by `--bisect`.)\n-\n-This is useful because it makes it easy to choose a good commit to\n-test when you want to avoid to test some of them for some reason (they\n-may not compile for example).\n-\n-This option can be used along with `--bisect-vars`, in this case,\n-after all the sorted commit objects, there will be the same text as if\n-`--bisect-vars` had been used alone.\n-\n---\n-\n-Commit Ordering\n-~~~~~~~~~~~~~~~\n-\n-By default, the commits are shown in reverse chronological order.\n-\n---topo-order::\n-\n-\tThis option makes them appear in topological order (i.e.\n-\tdescendant commits are shown before their parents).\n-\n---date-order::\n-\n-\tThis option is similar to '--topo-order' in the sense that no\n-\tparent comes before all of its children, but otherwise things\n-\tare still ordered in the commit timestamp order.\n-\n---reverse::\n-\n-\tOutput the commits in reverse order.\n-\tCannot be combined with '\\--walk-reflogs'.\n-\n-Object Traversal\n-~~~~~~~~~~~~~~~~\n-\n-These options are mostly targeted for packing of git repositories.\n-\n---objects::\n-\n-\tPrint the object IDs of any object referenced by the listed\n-\tcommits.  'git-rev-list --objects foo ^bar' thus means \"send me\n-\tall object IDs which I need to download if I have the commit\n-\tobject 'bar', but not 'foo'\".\n-\n---objects-edge::\n-\n-\tSimilar to '--objects', but also print the IDs of excluded\n-\tcommits prefixed with a \"-\" character.  This is used by\n-\tlinkgit:git-pack-objects[1] to build \"thin\" pack, which records\n-\tobjects in deltified form based on objects contained in these\n-\texcluded commits to reduce network traffic.\n-\n---unpacked::\n-\n-\tOnly useful with '--objects'; print the object IDs that are not\n-\tin packs.\n-\n---no-walk::\n-\n-\tOnly show the given revs, but do not traverse their ancestors.\n-\n---do-walk::\n-\n-\tOverrides a previous --no-walk.\n-\n+include::rev-list-options.txt[]\n \n include::pretty-formats.txt[]\n \ndiff --git a/Documentation/git-rev-list.txt b/Documentation/rev-list-options.txt\nsimilarity index 76%\ncopy from Documentation/git-rev-list.txt\ncopy to Documentation/rev-list-options.txt\nindex db42cd8..aaee366 100644\n--- a/Documentation/git-rev-list.txt\n+++ b/Documentation/rev-list-options.txt\n@@ -1,99 +1,11 @@\n-git-rev-list(1)\n-===============\n-\n-NAME\n-----\n-git-rev-list - Lists commit objects in reverse chronological order\n-\n-\n-SYNOPSIS\n---------\n-[verse]\n-'git-rev-list' [ \\--max-count=number ]\n-\t     [ \\--skip=number ]\n-\t     [ \\--max-age=timestamp ]\n-\t     [ \\--min-age=timestamp ]\n-\t     [ \\--sparse ]\n-\t     [ \\--no-merges ]\n-\t     [ \\--first-parent ]\n-\t     [ \\--remove-empty ]\n-\t     [ \\--full-history ]\n-\t     [ \\--not ]\n-\t     [ \\--all ]\n-\t     [ \\--stdin ]\n-\t     [ \\--quiet ]\n-\t     [ \\--topo-order ]\n-\t     [ \\--parents ]\n-\t     [ \\--timestamp ]\n-\t     [ \\--left-right ]\n-\t     [ \\--cherry-pick ]\n-\t     [ \\--encoding[=<encoding>] ]\n-\t     [ \\--(author|committer|grep)=<pattern> ]\n-\t     [ \\--regexp-ignore-case | \\-i ]\n-\t     [ \\--extended-regexp | \\-E ]\n-\t     [ \\--date={local|relative|default|iso|rfc|short} ]\n-\t     [ [\\--objects | \\--objects-edge] [ \\--unpacked ] ]\n-\t     [ \\--pretty | \\--header ]\n-\t     [ \\--bisect ]\n-\t     [ \\--bisect-vars ]\n-\t     [ \\--bisect-all ]\n-\t     [ \\--merge ]\n-\t     [ \\--reverse ]\n-\t     [ \\--walk-reflogs ]\n-\t     [ \\--no-walk ] [ \\--do-walk ]\n-\t     <commit>... [ \\-- <paths>... ]\n-\n-DESCRIPTION\n------------\n-\n-Lists commit objects in reverse chronological order starting at the\n-given commit(s), taking ancestry relationship into account.  This is\n-useful to produce human-readable log output.\n-\n-Commits which are stated with a preceding '{caret}' cause listing to\n-stop at that point. Their parents are implied. Thus the following\n-command:\n-\n------------------------------------------------------------------------\n-\t$ git-rev-list foo bar ^baz\n------------------------------------------------------------------------\n-\n-means \"list all the commits which are included in 'foo' and 'bar', but\n-not in 'baz'\".\n-\n-A special notation \"'<commit1>'..'<commit2>'\" can be used as a\n-short-hand for \"{caret}'<commit1>' '<commit2>'\". For example, either of\n-the following may be used interchangeably:\n-\n------------------------------------------------------------------------\n-\t$ git-rev-list origin..HEAD\n-\t$ git-rev-list HEAD ^origin\n------------------------------------------------------------------------\n-\n-Another special notation is \"'<commit1>'...'<commit2>'\" which is useful\n-for merges.  The resulting set of commits is the symmetric difference\n-between the two operands.  The following two commands are equivalent:\n-\n------------------------------------------------------------------------\n-\t$ git-rev-list A B --not $(git-merge-base --all A B)\n-\t$ git-rev-list A...B\n------------------------------------------------------------------------\n-\n-linkgit:git-rev-list[1] is a very essential git program, since it\n-provides the ability to build and traverse commit ancestry graphs. For\n-this reason, it has a lot of different options that enables it to be\n-used by commands as different as linkgit:git-bisect[1] and\n-linkgit:git-repack[1].\n-\n-OPTIONS\n--------\n-\n Commit Formatting\n ~~~~~~~~~~~~~~~~~\n \n+ifndef::git-log[]\n Using these options, linkgit:git-rev-list[1] will act similar to the\n more specialized family of commit log tools: linkgit:git-log[1],\n linkgit:git-show[1], and linkgit:git-whatchanged[1]\n+endif::git-log[]\n \n include::pretty-options.txt[]\n \n@@ -283,8 +195,8 @@ limiting may be applied.\n \n --quiet::\n \n-\tDon't print anything to standard output.  This form of\n-\tgit-rev-list is primarily meant to allow the caller to\n+\tDon't print anything to standard output.  This form\n+\tis primarily meant to allow the caller to\n \ttest the exit status to see if a range of objects is fully\n \tconnected (or not).  It is faster than redirecting stdout\n \tto /dev/null as the output does not have to be formatted.\n@@ -320,6 +232,7 @@ instead.  Under '\\--pretty=oneline', the commit message is\n prefixed with this information on the same line.\n \n Cannot be combined with '\\--reverse'.\n+See also linkgit:git-reflog[1].\n \n --merge::\n \n@@ -341,6 +254,7 @@ Use the '--sparse' flag to makes the command output all eligible commits\n (still subject to count and age limitation), but apply merge\n simplification nevertheless.\n \n+ifndef::git-log[]\n --bisect::\n \n Limit output to the one commit object which is roughly halfway between\n@@ -388,6 +302,7 @@ may not compile for example).\n This option can be used along with `--bisect-vars`, in this case,\n after all the sorted commit objects, there will be the same text as if\n `--bisect-vars` had been used alone.\n+endif::git-log[]\n \n --\n \n@@ -420,7 +335,7 @@ These options are mostly targeted for packing of git repositories.\n --objects::\n \n \tPrint the object IDs of any object referenced by the listed\n-\tcommits.  'git-rev-list --objects foo ^bar' thus means \"send me\n+\tcommits.  '--objects foo ^bar' thus means \"send me\n \tall object IDs which I need to download if I have the commit\n \tobject 'bar', but not 'foo'\".\n \n@@ -444,20 +359,3 @@ These options are mostly targeted for packing of git repositories.\n --do-walk::\n \n \tOverrides a previous --no-walk.\n-\n-\n-include::pretty-formats.txt[]\n-\n-\n-Author\n-------\n-Written by Linus Torvalds <torvalds@osdl.org>\n-\n-Documentation\n---------------\n-Documentation by David Greaves, Junio C Hamano, Jonas Fonseca\n-and the git-list <git@vger.kernel.org>.\n-\n-GIT\n----\n-Part of the linkgit:git[7] suite\n-- \n1.5.4.rc3.4.g16335-dirty\n"},{"id":"65913","messageId":"7vabn2ewv7.fsf@gitster.siamese.dyndns.org","threadId":"11660","inReplyTo":"20080118171827.GV29972@genesis.frugalware.org","subject":"Re: [PATCH] Include rev-list options in git-log manpage.","fromName":"Junio C Hamano","fromEmail":"gitster@pobox.com","sentAt":"2008-01-18T19:50:52Z","receivedAt":"2008-01-18T19:50:52Z","isPatch":true,"sender":{"key":"gitster@pobox.com","avatar":"https://avatars.githubusercontent.com/u/54884?v=4"},"body":"Miklos Vajna <vmiklos@frugalware.org> writes:\n\n> +ifndef::git-log[]\n>  Using these options, linkgit:git-rev-list[1] will act similar to the\n>  more specialized family of commit log tools: linkgit:git-log[1],\n>  linkgit:git-show[1], and linkgit:git-whatchanged[1]\n> +endif::git-log[]\n\n> +ifndef::git-log[]\n>  --bisect::\n>  \n>  Limit output to the one commit object which is roughly halfway between\n> @@ -388,6 +302,7 @@ may not compile for example).\n>  This option can be used along with `--bisect-vars`, in this case,\n>  after all the sorted commit objects, there will be the same text as if\n>  `--bisect-vars` had been used alone.\n> +endif::git-log[]\n\nI do not like these.  What you are really trying to express is\n\"this section makes sense only in rev-list documentation\", not\n\"the current set of documentation this section does not make\nsese is git-log\".  We might end up including this in some other\ndocuments.\n\nIOW, they should rather be \"ifdef::git-rev-list[]\" instead.\n"},{"id":"65914","messageId":"7v8x2mewtt.fsf@gitster.siamese.dyndns.org","threadId":"11660","inReplyTo":"20080118171827.GV29972@genesis.frugalware.org","subject":"Re: [PATCH] Include rev-list options in git-log manpage.","fromName":"Junio C Hamano","fromEmail":"gitster@pobox.com","sentAt":"2008-01-18T19:51:42Z","receivedAt":"2008-01-18T19:51:42Z","isPatch":true,"sender":{"key":"gitster@pobox.com","avatar":"https://avatars.githubusercontent.com/u/54884?v=4"},"body":"Miklos Vajna <vmiklos@frugalware.org> writes:\n\n> +ifndef::git-log[]\n>  Using these options, linkgit:git-rev-list[1] will act similar to the\n>  more specialized family of commit log tools: linkgit:git-log[1],\n>  linkgit:git-show[1], and linkgit:git-whatchanged[1]\n> +endif::git-log[]\n\n> +ifndef::git-log[]\n>  --bisect::\n>  \n>  Limit output to the one commit object which is roughly halfway between\n> @@ -388,6 +302,7 @@ may not compile for example).\n>  This option can be used along with `--bisect-vars`, in this case,\n>  after all the sorted commit objects, there will be the same text as if\n>  `--bisect-vars` had been used alone.\n> +endif::git-log[]\n\nI do not like these.  What you are really trying to express is\n\"this section makes sense only in rev-list documentation\", not\n\"among the current set of documentation, the one this section\ndoes not make sense in is git-log\".  We might end up including\nthis in some other documents.\n\nIOW, they should rather be \"ifdef::git-rev-list[]\" instead,\n(of course you have to define that token yourself if there isn't\none already).\n"},{"id":"65930","messageId":"20080118225026.GX29972@genesis.frugalware.org","threadId":"11660","inReplyTo":"7v8x2mewtt.fsf@gitster.siamese.dyndns.org","subject":"[PATCH] Include rev-list options in git-log manpage.","fromName":"Miklos Vajna","fromEmail":"vmiklos@frugalware.org","sentAt":"2008-01-18T22:50:27Z","receivedAt":"2008-01-18T22:50:27Z","isPatch":true,"sender":{"key":"vmiklos@frugalware.org","avatar":"https://gravatar.com/avatar/401c1cbbb3a5d13e650c691a2c71d6fd0b80df1a01bc74d9f1972675dd58f2bd?d=mp&s=160"},"body":"Replace the \"This manual page describes only the most frequently used options.\"\ntext with the list of rev-list options in git-log manpage. (The git-diff-tree\noptions are already included.)\n\nMove these options to a separate file and include it from both\ngit-rev-list.txt and git-log.txt.\n\nSigned-off-by: Miklos Vajna <vmiklos@frugalware.org>\n---\n\nOn Fri, Jan 18, 2008 at 11:51:42AM -0800, Junio C Hamano <gitster@pobox.com> wrote:\n> I do not like these.  What you are really trying to express is\n> \"this section makes sense only in rev-list documentation\", not\n> \"among the current set of documentation, the one this section\n> does not make sense in is git-log\".  We might end up including\n> this in some other documents.\n>\n> IOW, they should rather be \"ifdef::git-rev-list[]\" instead,\n> (of course you have to define that token yourself if there isn't\n> one already).\n\nFixed.\n\n Documentation/git-log.txt                          |   21 +-\n Documentation/git-rev-list.txt                     |  359 +-------------------\n .../{git-rev-list.txt => rev-list-options.txt}     |  118 +------\n 3 files changed, 12 insertions(+), 486 deletions(-)\n copy Documentation/{git-rev-list.txt => rev-list-options.txt} (76%)\n\ndiff --git a/Documentation/git-log.txt b/Documentation/git-log.txt\nindex 5985f47..ebaee4b 100644\n--- a/Documentation/git-log.txt\n+++ b/Documentation/git-log.txt\n@@ -19,14 +19,10 @@ command to control what is shown and how, and options applicable to\n the linkgit:git-diff-tree[1] commands to control how the changes\n each commit introduces are shown.\n \n-This manual page describes only the most frequently used options.\n-\n \n OPTIONS\n -------\n \n-include::pretty-options.txt[]\n-\n :git-log: 1\n include::diff-options.txt[]\n \n@@ -41,21 +37,6 @@ include::diff-options.txt[]\n \tand <until>, see \"SPECIFYING REVISIONS\" section in\n \tlinkgit:git-rev-parse[1].\n \n---first-parent::\n-\tFollow only the first parent commit upon seeing a merge\n-\tcommit.  This option can give a better overview when\n-\tviewing the evolution of a particular topic branch,\n-\tbecause merges into a topic branch tend to be only about\n-\tadjusting to updated upstream from time to time, and\n-\tthis option allows you to ignore the individual commits\n-\tbrought in to your history by such a merge.\n-\n--g, \\--walk-reflogs::\n-\tShow commits as they were recorded in the reflog. The log contains\n-\ta record about how the tip of a reference was changed.\n-\tCannot be combined with --reverse.\n-\tSee also linkgit:git-reflog[1].\n-\n --decorate::\n \tPrint out the ref names of any commits that are shown.\n \n@@ -80,6 +61,8 @@ include::diff-options.txt[]\n \tShow only commits that affect the specified paths.\n \n \n+include::rev-list-options.txt[]\n+\n include::pretty-formats.txt[]\n \n include::diff-generate-patch.txt[]\ndiff --git a/Documentation/git-rev-list.txt b/Documentation/git-rev-list.txt\nindex db42cd8..5b96eab 100644\n--- a/Documentation/git-rev-list.txt\n+++ b/Documentation/git-rev-list.txt\n@@ -88,363 +88,8 @@ linkgit:git-repack[1].\n OPTIONS\n -------\n \n-Commit Formatting\n-~~~~~~~~~~~~~~~~~\n-\n-Using these options, linkgit:git-rev-list[1] will act similar to the\n-more specialized family of commit log tools: linkgit:git-log[1],\n-linkgit:git-show[1], and linkgit:git-whatchanged[1]\n-\n-include::pretty-options.txt[]\n-\n---relative-date::\n-\n-\tSynonym for `--date=relative`.\n-\n---date={relative,local,default,iso,rfc}::\n-\n-\tOnly takes effect for dates shown in human-readable format, such\n-\tas when using \"--pretty\".\n-+\n-`--date=relative` shows dates relative to the current time,\n-e.g. \"2 hours ago\".\n-+\n-`--date=local` shows timestamps in user's local timezone.\n-+\n-`--date=iso` (or `--date=iso8601`) shows timestamps in ISO 8601 format.\n-+\n-`--date=rfc` (or `--date=rfc2822`) shows timestamps in RFC 2822\n-format, often found in E-mail messages.\n-+\n-`--date=short` shows only date but not time, in `YYYY-MM-DD` format.\n-+\n-`--date=default` shows timestamps in the original timezone\n-(either committer's or author's).\n-\n---header::\n-\n-\tPrint the contents of the commit in raw-format; each record is\n-\tseparated with a NUL character.\n-\n---parents::\n-\n-\tPrint the parents of the commit.\n-\n---timestamp::\n-\tPrint the raw commit timestamp.\n-\n---left-right::\n-\n-\tMark which side of a symmetric diff a commit is reachable from.\n-\tCommits from the left side are prefixed with `<` and those from\n-\tthe right with `>`.  If combined with `--boundary`, those\n-\tcommits are prefixed with `-`.\n-+\n-For example, if you have this topology:\n-+\n------------------------------------------------------------------------\n-             y---b---b  branch B\n-            / \\ /\n-           /   .\n-          /   / \\\n-         o---x---a---a  branch A\n------------------------------------------------------------------------\n-+\n-you would get an output line this:\n-+\n------------------------------------------------------------------------\n-\t$ git rev-list --left-right --boundary --pretty=oneline A...B\n-\n-\t>bbbbbbb... 3rd on b\n-\t>bbbbbbb... 2nd on b\n-\t<aaaaaaa... 3rd on a\n-\t<aaaaaaa... 2nd on a\n-\t-yyyyyyy... 1st on b\n-\t-xxxxxxx... 1st on a\n------------------------------------------------------------------------\n-\n-Diff Formatting\n-~~~~~~~~~~~~~~~\n-\n-Below are listed options that control the formatting of diff output.\n-Some of them are specific to linkgit:git-rev-list[1], however other diff\n-options may be given. See linkgit:git-diff-files[1] for more options.\n-\n--c::\n-\n-\tThis flag changes the way a merge commit is displayed.  It shows\n-\tthe differences from each of the parents to the merge result\n-\tsimultaneously instead of showing pairwise diff between a parent\n-\tand the result one at a time. Furthermore, it lists only files\n-\twhich were modified from all parents.\n-\n---cc::\n-\n-\tThis flag implies the '-c' options and further compresses the\n-\tpatch output by omitting hunks that show differences from only\n-\tone parent, or show the same change from all but one parent for\n-\tan Octopus merge.\n-\n--r::\n-\n-\tShow recursive diffs.\n-\n--t::\n-\n-\tShow the tree objects in the diff output. This implies '-r'.\n-\n-Commit Limiting\n-~~~~~~~~~~~~~~~\n-\n-Besides specifying a range of commits that should be listed using the\n-special notations explained in the description, additional commit\n-limiting may be applied.\n-\n---\n-\n--n 'number', --max-count='number'::\n-\n-\tLimit the number of commits output.\n-\n---skip='number'::\n-\n-\tSkip 'number' commits before starting to show the commit output.\n-\n---since='date', --after='date'::\n-\n-\tShow commits more recent than a specific date.\n-\n---until='date', --before='date'::\n-\n-\tShow commits older than a specific date.\n-\n---max-age='timestamp', --min-age='timestamp'::\n-\n-\tLimit the commits output to specified time range.\n-\n---author='pattern', --committer='pattern'::\n-\n-\tLimit the commits output to ones with author/committer\n-\theader lines that match the specified pattern (regular expression).\n-\n---grep='pattern'::\n-\n-\tLimit the commits output to ones with log message that\n-\tmatches the specified pattern (regular expression).\n-\n--i, --regexp-ignore-case::\n-\n-\tMatch the regexp limiting patterns without regard to letters case.\n-\n--E, --extended-regexp::\n-\n-\tConsider the limiting patterns to be extended regular expressions\n-\tinstead of the default basic regular expressions.\n-\n---remove-empty::\n-\n-\tStop when a given path disappears from the tree.\n-\n---full-history::\n-\n-\tShow also parts of history irrelevant to current state of a given\n-\tpath. This turns off history simplification, which removed merges\n-\twhich didn't change anything at all at some child. It will still actually\n-\tsimplify away merges that didn't change anything at all into either\n-\tchild.\n-\n---no-merges::\n-\n-\tDo not print commits with more than one parent.\n-\n---first-parent::\n-\tFollow only the first parent commit upon seeing a merge\n-\tcommit.  This option can give a better overview when\n-\tviewing the evolution of a particular topic branch,\n-\tbecause merges into a topic branch tend to be only about\n-\tadjusting to updated upstream from time to time, and\n-\tthis option allows you to ignore the individual commits\n-\tbrought in to your history by such a merge.\n-\n---not::\n-\n-\tReverses the meaning of the '{caret}' prefix (or lack thereof)\n-\tfor all following revision specifiers, up to the next '--not'.\n-\n---all::\n-\n-\tPretend as if all the refs in `$GIT_DIR/refs/` are listed on the\n-\tcommand line as '<commit>'.\n-\n---stdin::\n-\n-\tIn addition to the '<commit>' listed on the command\n-\tline, read them from the standard input.\n-\n---quiet::\n-\n-\tDon't print anything to standard output.  This form of\n-\tgit-rev-list is primarily meant to allow the caller to\n-\ttest the exit status to see if a range of objects is fully\n-\tconnected (or not).  It is faster than redirecting stdout\n-\tto /dev/null as the output does not have to be formatted.\n-\n---cherry-pick::\n-\n-\tOmit any commit that introduces the same change as\n-\tanother commit on the \"other side\" when the set of\n-\tcommits are limited with symmetric difference.\n-+\n-For example, if you have two branches, `A` and `B`, a usual way\n-to list all commits on only one side of them is with\n-`--left-right`, like the example above in the description of\n-that option.  It however shows the commits that were cherry-picked\n-from the other branch (for example, \"3rd on b\" may be cherry-picked\n-from branch A).  With this option, such pairs of commits are\n-excluded from the output.\n-\n--g, --walk-reflogs::\n-\n-\tInstead of walking the commit ancestry chain, walk\n-\treflog entries from the most recent one to older ones.\n-\tWhen this option is used you cannot specify commits to\n-\texclude (that is, '{caret}commit', 'commit1..commit2',\n-\tnor 'commit1...commit2' notations cannot be used).\n-+\n-With '\\--pretty' format other than oneline (for obvious reasons),\n-this causes the output to have two extra lines of information\n-taken from the reflog.  By default, 'commit@\\{Nth}' notation is\n-used in the output.  When the starting commit is specified as\n-'commit@{now}', output also uses 'commit@\\{timestamp}' notation\n-instead.  Under '\\--pretty=oneline', the commit message is\n-prefixed with this information on the same line.\n-\n-Cannot be combined with '\\--reverse'.\n-\n---merge::\n-\n-\tAfter a failed merge, show refs that touch files having a\n-\tconflict and don't exist on all heads to merge.\n-\n---boundary::\n-\n-\tOutput uninteresting commits at the boundary, which are usually\n-\tnot shown.\n-\n---dense, --sparse::\n-\n-When optional paths are given, the default behaviour ('--dense') is to\n-only output commits that changes at least one of them, and also ignore\n-merges that do not touch the given paths.\n-\n-Use the '--sparse' flag to makes the command output all eligible commits\n-(still subject to count and age limitation), but apply merge\n-simplification nevertheless.\n-\n---bisect::\n-\n-Limit output to the one commit object which is roughly halfway between\n-the included and excluded commits. Thus, if\n-\n------------------------------------------------------------------------\n-\t$ git-rev-list --bisect foo ^bar ^baz\n------------------------------------------------------------------------\n-\n-outputs 'midpoint', the output of the two commands\n-\n------------------------------------------------------------------------\n-\t$ git-rev-list foo ^midpoint\n-\t$ git-rev-list midpoint ^bar ^baz\n------------------------------------------------------------------------\n-\n-would be of roughly the same length.  Finding the change which\n-introduces a regression is thus reduced to a binary search: repeatedly\n-generate and test new 'midpoint's until the commit chain is of length\n-one.\n-\n---bisect-vars::\n-\n-This calculates the same as `--bisect`, but outputs text ready\n-to be eval'ed by the shell. These lines will assign the name of\n-the midpoint revision to the variable `bisect_rev`, and the\n-expected number of commits to be tested after `bisect_rev` is\n-tested to `bisect_nr`, the expected number of commits to be\n-tested if `bisect_rev` turns out to be good to `bisect_good`,\n-the expected number of commits to be tested if `bisect_rev`\n-turns out to be bad to `bisect_bad`, and the number of commits\n-we are bisecting right now to `bisect_all`.\n-\n---bisect-all::\n-\n-This outputs all the commit objects between the included and excluded\n-commits, ordered by their distance to the included and excluded\n-commits. The farthest from them is displayed first. (This is the only\n-one displayed by `--bisect`.)\n-\n-This is useful because it makes it easy to choose a good commit to\n-test when you want to avoid to test some of them for some reason (they\n-may not compile for example).\n-\n-This option can be used along with `--bisect-vars`, in this case,\n-after all the sorted commit objects, there will be the same text as if\n-`--bisect-vars` had been used alone.\n-\n---\n-\n-Commit Ordering\n-~~~~~~~~~~~~~~~\n-\n-By default, the commits are shown in reverse chronological order.\n-\n---topo-order::\n-\n-\tThis option makes them appear in topological order (i.e.\n-\tdescendant commits are shown before their parents).\n-\n---date-order::\n-\n-\tThis option is similar to '--topo-order' in the sense that no\n-\tparent comes before all of its children, but otherwise things\n-\tare still ordered in the commit timestamp order.\n-\n---reverse::\n-\n-\tOutput the commits in reverse order.\n-\tCannot be combined with '\\--walk-reflogs'.\n-\n-Object Traversal\n-~~~~~~~~~~~~~~~~\n-\n-These options are mostly targeted for packing of git repositories.\n-\n---objects::\n-\n-\tPrint the object IDs of any object referenced by the listed\n-\tcommits.  'git-rev-list --objects foo ^bar' thus means \"send me\n-\tall object IDs which I need to download if I have the commit\n-\tobject 'bar', but not 'foo'\".\n-\n---objects-edge::\n-\n-\tSimilar to '--objects', but also print the IDs of excluded\n-\tcommits prefixed with a \"-\" character.  This is used by\n-\tlinkgit:git-pack-objects[1] to build \"thin\" pack, which records\n-\tobjects in deltified form based on objects contained in these\n-\texcluded commits to reduce network traffic.\n-\n---unpacked::\n-\n-\tOnly useful with '--objects'; print the object IDs that are not\n-\tin packs.\n-\n---no-walk::\n-\n-\tOnly show the given revs, but do not traverse their ancestors.\n-\n---do-walk::\n-\n-\tOverrides a previous --no-walk.\n-\n+:git-rev-list: 1\n+include::rev-list-options.txt[]\n \n include::pretty-formats.txt[]\n \ndiff --git a/Documentation/git-rev-list.txt b/Documentation/rev-list-options.txt\nsimilarity index 76%\ncopy from Documentation/git-rev-list.txt\ncopy to Documentation/rev-list-options.txt\nindex db42cd8..fc0591d 100644\n--- a/Documentation/git-rev-list.txt\n+++ b/Documentation/rev-list-options.txt\n@@ -1,99 +1,11 @@\n-git-rev-list(1)\n-===============\n-\n-NAME\n-----\n-git-rev-list - Lists commit objects in reverse chronological order\n-\n-\n-SYNOPSIS\n---------\n-[verse]\n-'git-rev-list' [ \\--max-count=number ]\n-\t     [ \\--skip=number ]\n-\t     [ \\--max-age=timestamp ]\n-\t     [ \\--min-age=timestamp ]\n-\t     [ \\--sparse ]\n-\t     [ \\--no-merges ]\n-\t     [ \\--first-parent ]\n-\t     [ \\--remove-empty ]\n-\t     [ \\--full-history ]\n-\t     [ \\--not ]\n-\t     [ \\--all ]\n-\t     [ \\--stdin ]\n-\t     [ \\--quiet ]\n-\t     [ \\--topo-order ]\n-\t     [ \\--parents ]\n-\t     [ \\--timestamp ]\n-\t     [ \\--left-right ]\n-\t     [ \\--cherry-pick ]\n-\t     [ \\--encoding[=<encoding>] ]\n-\t     [ \\--(author|committer|grep)=<pattern> ]\n-\t     [ \\--regexp-ignore-case | \\-i ]\n-\t     [ \\--extended-regexp | \\-E ]\n-\t     [ \\--date={local|relative|default|iso|rfc|short} ]\n-\t     [ [\\--objects | \\--objects-edge] [ \\--unpacked ] ]\n-\t     [ \\--pretty | \\--header ]\n-\t     [ \\--bisect ]\n-\t     [ \\--bisect-vars ]\n-\t     [ \\--bisect-all ]\n-\t     [ \\--merge ]\n-\t     [ \\--reverse ]\n-\t     [ \\--walk-reflogs ]\n-\t     [ \\--no-walk ] [ \\--do-walk ]\n-\t     <commit>... [ \\-- <paths>... ]\n-\n-DESCRIPTION\n------------\n-\n-Lists commit objects in reverse chronological order starting at the\n-given commit(s), taking ancestry relationship into account.  This is\n-useful to produce human-readable log output.\n-\n-Commits which are stated with a preceding '{caret}' cause listing to\n-stop at that point. Their parents are implied. Thus the following\n-command:\n-\n------------------------------------------------------------------------\n-\t$ git-rev-list foo bar ^baz\n------------------------------------------------------------------------\n-\n-means \"list all the commits which are included in 'foo' and 'bar', but\n-not in 'baz'\".\n-\n-A special notation \"'<commit1>'..'<commit2>'\" can be used as a\n-short-hand for \"{caret}'<commit1>' '<commit2>'\". For example, either of\n-the following may be used interchangeably:\n-\n------------------------------------------------------------------------\n-\t$ git-rev-list origin..HEAD\n-\t$ git-rev-list HEAD ^origin\n------------------------------------------------------------------------\n-\n-Another special notation is \"'<commit1>'...'<commit2>'\" which is useful\n-for merges.  The resulting set of commits is the symmetric difference\n-between the two operands.  The following two commands are equivalent:\n-\n------------------------------------------------------------------------\n-\t$ git-rev-list A B --not $(git-merge-base --all A B)\n-\t$ git-rev-list A...B\n------------------------------------------------------------------------\n-\n-linkgit:git-rev-list[1] is a very essential git program, since it\n-provides the ability to build and traverse commit ancestry graphs. For\n-this reason, it has a lot of different options that enables it to be\n-used by commands as different as linkgit:git-bisect[1] and\n-linkgit:git-repack[1].\n-\n-OPTIONS\n--------\n-\n Commit Formatting\n ~~~~~~~~~~~~~~~~~\n \n+ifdef::git-rev-list[]\n Using these options, linkgit:git-rev-list[1] will act similar to the\n more specialized family of commit log tools: linkgit:git-log[1],\n linkgit:git-show[1], and linkgit:git-whatchanged[1]\n+endif::git-rev-list[]\n \n include::pretty-options.txt[]\n \n@@ -283,8 +195,8 @@ limiting may be applied.\n \n --quiet::\n \n-\tDon't print anything to standard output.  This form of\n-\tgit-rev-list is primarily meant to allow the caller to\n+\tDon't print anything to standard output.  This form\n+\tis primarily meant to allow the caller to\n \ttest the exit status to see if a range of objects is fully\n \tconnected (or not).  It is faster than redirecting stdout\n \tto /dev/null as the output does not have to be formatted.\n@@ -320,6 +232,7 @@ instead.  Under '\\--pretty=oneline', the commit message is\n prefixed with this information on the same line.\n \n Cannot be combined with '\\--reverse'.\n+See also linkgit:git-reflog[1].\n \n --merge::\n \n@@ -341,6 +254,7 @@ Use the '--sparse' flag to makes the command output all eligible commits\n (still subject to count and age limitation), but apply merge\n simplification nevertheless.\n \n+ifdef::git-ref-list[]\n --bisect::\n \n Limit output to the one commit object which is roughly halfway between\n@@ -388,6 +302,7 @@ may not compile for example).\n This option can be used along with `--bisect-vars`, in this case,\n after all the sorted commit objects, there will be the same text as if\n `--bisect-vars` had been used alone.\n+endif::git-ref-list[]\n \n --\n \n@@ -420,7 +335,7 @@ These options are mostly targeted for packing of git repositories.\n --objects::\n \n \tPrint the object IDs of any object referenced by the listed\n-\tcommits.  'git-rev-list --objects foo ^bar' thus means \"send me\n+\tcommits.  '--objects foo ^bar' thus means \"send me\n \tall object IDs which I need to download if I have the commit\n \tobject 'bar', but not 'foo'\".\n \n@@ -444,20 +359,3 @@ These options are mostly targeted for packing of git repositories.\n --do-walk::\n \n \tOverrides a previous --no-walk.\n-\n-\n-include::pretty-formats.txt[]\n-\n-\n-Author\n-------\n-Written by Linus Torvalds <torvalds@osdl.org>\n-\n-Documentation\n---------------\n-Documentation by David Greaves, Junio C Hamano, Jonas Fonseca\n-and the git-list <git@vger.kernel.org>.\n-\n-GIT\n----\n-Part of the linkgit:git[7] suite\n-- \n1.5.4.rc3.4.g16335-dirty\n"},{"id":"65931","messageId":"20080118225857.GY29972@genesis.frugalware.org","threadId":"11660","inReplyTo":"20080118225026.GX29972@genesis.frugalware.org","subject":"[PATCH] Include rev-list options in git-log manpage.","fromName":"Miklos Vajna","fromEmail":"vmiklos@frugalware.org","sentAt":"2008-01-18T22:58:57Z","receivedAt":"2008-01-18T22:58:57Z","isPatch":true,"sender":{"key":"vmiklos@frugalware.org","avatar":"https://gravatar.com/avatar/401c1cbbb3a5d13e650c691a2c71d6fd0b80df1a01bc74d9f1972675dd58f2bd?d=mp&s=160"},"body":"Replace the \"This manual page describes only the most frequently used options.\"\ntext with the list of rev-list options in git-log manpage. (The git-diff-tree\noptions are already included.)\n\nMove these options to a separate file and include it from both\ngit-rev-list.txt and git-log.txt.\n\nSigned-off-by: Miklos Vajna <vmiklos@frugalware.org>\n---\n\nOn Fri, Jan 18, 2008 at 11:50:27PM +0100, Miklos Vajna <vmiklos@frugalware.org> wrote:\n> > IOW, they should rather be \"ifdef::git-rev-list[]\" instead,\n> > (of course you have to define that token yourself if there isn't\n> > one already).\n>\n> Fixed.\n\nMy bad, the previous version introduced two typos (ref-list instead of\nrev-list). This one should be OK.\n\n Documentation/git-log.txt                          |   21 +-\n Documentation/git-rev-list.txt                     |  359 +-------------------\n .../{git-rev-list.txt => rev-list-options.txt}     |  118 +------\n 3 files changed, 12 insertions(+), 486 deletions(-)\n copy Documentation/{git-rev-list.txt => rev-list-options.txt} (76%)\n\ndiff --git a/Documentation/git-log.txt b/Documentation/git-log.txt\nindex 5985f47..ebaee4b 100644\n--- a/Documentation/git-log.txt\n+++ b/Documentation/git-log.txt\n@@ -19,14 +19,10 @@ command to control what is shown and how, and options applicable to\n the linkgit:git-diff-tree[1] commands to control how the changes\n each commit introduces are shown.\n \n-This manual page describes only the most frequently used options.\n-\n \n OPTIONS\n -------\n \n-include::pretty-options.txt[]\n-\n :git-log: 1\n include::diff-options.txt[]\n \n@@ -41,21 +37,6 @@ include::diff-options.txt[]\n \tand <until>, see \"SPECIFYING REVISIONS\" section in\n \tlinkgit:git-rev-parse[1].\n \n---first-parent::\n-\tFollow only the first parent commit upon seeing a merge\n-\tcommit.  This option can give a better overview when\n-\tviewing the evolution of a particular topic branch,\n-\tbecause merges into a topic branch tend to be only about\n-\tadjusting to updated upstream from time to time, and\n-\tthis option allows you to ignore the individual commits\n-\tbrought in to your history by such a merge.\n-\n--g, \\--walk-reflogs::\n-\tShow commits as they were recorded in the reflog. The log contains\n-\ta record about how the tip of a reference was changed.\n-\tCannot be combined with --reverse.\n-\tSee also linkgit:git-reflog[1].\n-\n --decorate::\n \tPrint out the ref names of any commits that are shown.\n \n@@ -80,6 +61,8 @@ include::diff-options.txt[]\n \tShow only commits that affect the specified paths.\n \n \n+include::rev-list-options.txt[]\n+\n include::pretty-formats.txt[]\n \n include::diff-generate-patch.txt[]\ndiff --git a/Documentation/git-rev-list.txt b/Documentation/git-rev-list.txt\nindex db42cd8..5b96eab 100644\n--- a/Documentation/git-rev-list.txt\n+++ b/Documentation/git-rev-list.txt\n@@ -88,363 +88,8 @@ linkgit:git-repack[1].\n OPTIONS\n -------\n \n-Commit Formatting\n-~~~~~~~~~~~~~~~~~\n-\n-Using these options, linkgit:git-rev-list[1] will act similar to the\n-more specialized family of commit log tools: linkgit:git-log[1],\n-linkgit:git-show[1], and linkgit:git-whatchanged[1]\n-\n-include::pretty-options.txt[]\n-\n---relative-date::\n-\n-\tSynonym for `--date=relative`.\n-\n---date={relative,local,default,iso,rfc}::\n-\n-\tOnly takes effect for dates shown in human-readable format, such\n-\tas when using \"--pretty\".\n-+\n-`--date=relative` shows dates relative to the current time,\n-e.g. \"2 hours ago\".\n-+\n-`--date=local` shows timestamps in user's local timezone.\n-+\n-`--date=iso` (or `--date=iso8601`) shows timestamps in ISO 8601 format.\n-+\n-`--date=rfc` (or `--date=rfc2822`) shows timestamps in RFC 2822\n-format, often found in E-mail messages.\n-+\n-`--date=short` shows only date but not time, in `YYYY-MM-DD` format.\n-+\n-`--date=default` shows timestamps in the original timezone\n-(either committer's or author's).\n-\n---header::\n-\n-\tPrint the contents of the commit in raw-format; each record is\n-\tseparated with a NUL character.\n-\n---parents::\n-\n-\tPrint the parents of the commit.\n-\n---timestamp::\n-\tPrint the raw commit timestamp.\n-\n---left-right::\n-\n-\tMark which side of a symmetric diff a commit is reachable from.\n-\tCommits from the left side are prefixed with `<` and those from\n-\tthe right with `>`.  If combined with `--boundary`, those\n-\tcommits are prefixed with `-`.\n-+\n-For example, if you have this topology:\n-+\n------------------------------------------------------------------------\n-             y---b---b  branch B\n-            / \\ /\n-           /   .\n-          /   / \\\n-         o---x---a---a  branch A\n------------------------------------------------------------------------\n-+\n-you would get an output line this:\n-+\n------------------------------------------------------------------------\n-\t$ git rev-list --left-right --boundary --pretty=oneline A...B\n-\n-\t>bbbbbbb... 3rd on b\n-\t>bbbbbbb... 2nd on b\n-\t<aaaaaaa... 3rd on a\n-\t<aaaaaaa... 2nd on a\n-\t-yyyyyyy... 1st on b\n-\t-xxxxxxx... 1st on a\n------------------------------------------------------------------------\n-\n-Diff Formatting\n-~~~~~~~~~~~~~~~\n-\n-Below are listed options that control the formatting of diff output.\n-Some of them are specific to linkgit:git-rev-list[1], however other diff\n-options may be given. See linkgit:git-diff-files[1] for more options.\n-\n--c::\n-\n-\tThis flag changes the way a merge commit is displayed.  It shows\n-\tthe differences from each of the parents to the merge result\n-\tsimultaneously instead of showing pairwise diff between a parent\n-\tand the result one at a time. Furthermore, it lists only files\n-\twhich were modified from all parents.\n-\n---cc::\n-\n-\tThis flag implies the '-c' options and further compresses the\n-\tpatch output by omitting hunks that show differences from only\n-\tone parent, or show the same change from all but one parent for\n-\tan Octopus merge.\n-\n--r::\n-\n-\tShow recursive diffs.\n-\n--t::\n-\n-\tShow the tree objects in the diff output. This implies '-r'.\n-\n-Commit Limiting\n-~~~~~~~~~~~~~~~\n-\n-Besides specifying a range of commits that should be listed using the\n-special notations explained in the description, additional commit\n-limiting may be applied.\n-\n---\n-\n--n 'number', --max-count='number'::\n-\n-\tLimit the number of commits output.\n-\n---skip='number'::\n-\n-\tSkip 'number' commits before starting to show the commit output.\n-\n---since='date', --after='date'::\n-\n-\tShow commits more recent than a specific date.\n-\n---until='date', --before='date'::\n-\n-\tShow commits older than a specific date.\n-\n---max-age='timestamp', --min-age='timestamp'::\n-\n-\tLimit the commits output to specified time range.\n-\n---author='pattern', --committer='pattern'::\n-\n-\tLimit the commits output to ones with author/committer\n-\theader lines that match the specified pattern (regular expression).\n-\n---grep='pattern'::\n-\n-\tLimit the commits output to ones with log message that\n-\tmatches the specified pattern (regular expression).\n-\n--i, --regexp-ignore-case::\n-\n-\tMatch the regexp limiting patterns without regard to letters case.\n-\n--E, --extended-regexp::\n-\n-\tConsider the limiting patterns to be extended regular expressions\n-\tinstead of the default basic regular expressions.\n-\n---remove-empty::\n-\n-\tStop when a given path disappears from the tree.\n-\n---full-history::\n-\n-\tShow also parts of history irrelevant to current state of a given\n-\tpath. This turns off history simplification, which removed merges\n-\twhich didn't change anything at all at some child. It will still actually\n-\tsimplify away merges that didn't change anything at all into either\n-\tchild.\n-\n---no-merges::\n-\n-\tDo not print commits with more than one parent.\n-\n---first-parent::\n-\tFollow only the first parent commit upon seeing a merge\n-\tcommit.  This option can give a better overview when\n-\tviewing the evolution of a particular topic branch,\n-\tbecause merges into a topic branch tend to be only about\n-\tadjusting to updated upstream from time to time, and\n-\tthis option allows you to ignore the individual commits\n-\tbrought in to your history by such a merge.\n-\n---not::\n-\n-\tReverses the meaning of the '{caret}' prefix (or lack thereof)\n-\tfor all following revision specifiers, up to the next '--not'.\n-\n---all::\n-\n-\tPretend as if all the refs in `$GIT_DIR/refs/` are listed on the\n-\tcommand line as '<commit>'.\n-\n---stdin::\n-\n-\tIn addition to the '<commit>' listed on the command\n-\tline, read them from the standard input.\n-\n---quiet::\n-\n-\tDon't print anything to standard output.  This form of\n-\tgit-rev-list is primarily meant to allow the caller to\n-\ttest the exit status to see if a range of objects is fully\n-\tconnected (or not).  It is faster than redirecting stdout\n-\tto /dev/null as the output does not have to be formatted.\n-\n---cherry-pick::\n-\n-\tOmit any commit that introduces the same change as\n-\tanother commit on the \"other side\" when the set of\n-\tcommits are limited with symmetric difference.\n-+\n-For example, if you have two branches, `A` and `B`, a usual way\n-to list all commits on only one side of them is with\n-`--left-right`, like the example above in the description of\n-that option.  It however shows the commits that were cherry-picked\n-from the other branch (for example, \"3rd on b\" may be cherry-picked\n-from branch A).  With this option, such pairs of commits are\n-excluded from the output.\n-\n--g, --walk-reflogs::\n-\n-\tInstead of walking the commit ancestry chain, walk\n-\treflog entries from the most recent one to older ones.\n-\tWhen this option is used you cannot specify commits to\n-\texclude (that is, '{caret}commit', 'commit1..commit2',\n-\tnor 'commit1...commit2' notations cannot be used).\n-+\n-With '\\--pretty' format other than oneline (for obvious reasons),\n-this causes the output to have two extra lines of information\n-taken from the reflog.  By default, 'commit@\\{Nth}' notation is\n-used in the output.  When the starting commit is specified as\n-'commit@{now}', output also uses 'commit@\\{timestamp}' notation\n-instead.  Under '\\--pretty=oneline', the commit message is\n-prefixed with this information on the same line.\n-\n-Cannot be combined with '\\--reverse'.\n-\n---merge::\n-\n-\tAfter a failed merge, show refs that touch files having a\n-\tconflict and don't exist on all heads to merge.\n-\n---boundary::\n-\n-\tOutput uninteresting commits at the boundary, which are usually\n-\tnot shown.\n-\n---dense, --sparse::\n-\n-When optional paths are given, the default behaviour ('--dense') is to\n-only output commits that changes at least one of them, and also ignore\n-merges that do not touch the given paths.\n-\n-Use the '--sparse' flag to makes the command output all eligible commits\n-(still subject to count and age limitation), but apply merge\n-simplification nevertheless.\n-\n---bisect::\n-\n-Limit output to the one commit object which is roughly halfway between\n-the included and excluded commits. Thus, if\n-\n------------------------------------------------------------------------\n-\t$ git-rev-list --bisect foo ^bar ^baz\n------------------------------------------------------------------------\n-\n-outputs 'midpoint', the output of the two commands\n-\n------------------------------------------------------------------------\n-\t$ git-rev-list foo ^midpoint\n-\t$ git-rev-list midpoint ^bar ^baz\n------------------------------------------------------------------------\n-\n-would be of roughly the same length.  Finding the change which\n-introduces a regression is thus reduced to a binary search: repeatedly\n-generate and test new 'midpoint's until the commit chain is of length\n-one.\n-\n---bisect-vars::\n-\n-This calculates the same as `--bisect`, but outputs text ready\n-to be eval'ed by the shell. These lines will assign the name of\n-the midpoint revision to the variable `bisect_rev`, and the\n-expected number of commits to be tested after `bisect_rev` is\n-tested to `bisect_nr`, the expected number of commits to be\n-tested if `bisect_rev` turns out to be good to `bisect_good`,\n-the expected number of commits to be tested if `bisect_rev`\n-turns out to be bad to `bisect_bad`, and the number of commits\n-we are bisecting right now to `bisect_all`.\n-\n---bisect-all::\n-\n-This outputs all the commit objects between the included and excluded\n-commits, ordered by their distance to the included and excluded\n-commits. The farthest from them is displayed first. (This is the only\n-one displayed by `--bisect`.)\n-\n-This is useful because it makes it easy to choose a good commit to\n-test when you want to avoid to test some of them for some reason (they\n-may not compile for example).\n-\n-This option can be used along with `--bisect-vars`, in this case,\n-after all the sorted commit objects, there will be the same text as if\n-`--bisect-vars` had been used alone.\n-\n---\n-\n-Commit Ordering\n-~~~~~~~~~~~~~~~\n-\n-By default, the commits are shown in reverse chronological order.\n-\n---topo-order::\n-\n-\tThis option makes them appear in topological order (i.e.\n-\tdescendant commits are shown before their parents).\n-\n---date-order::\n-\n-\tThis option is similar to '--topo-order' in the sense that no\n-\tparent comes before all of its children, but otherwise things\n-\tare still ordered in the commit timestamp order.\n-\n---reverse::\n-\n-\tOutput the commits in reverse order.\n-\tCannot be combined with '\\--walk-reflogs'.\n-\n-Object Traversal\n-~~~~~~~~~~~~~~~~\n-\n-These options are mostly targeted for packing of git repositories.\n-\n---objects::\n-\n-\tPrint the object IDs of any object referenced by the listed\n-\tcommits.  'git-rev-list --objects foo ^bar' thus means \"send me\n-\tall object IDs which I need to download if I have the commit\n-\tobject 'bar', but not 'foo'\".\n-\n---objects-edge::\n-\n-\tSimilar to '--objects', but also print the IDs of excluded\n-\tcommits prefixed with a \"-\" character.  This is used by\n-\tlinkgit:git-pack-objects[1] to build \"thin\" pack, which records\n-\tobjects in deltified form based on objects contained in these\n-\texcluded commits to reduce network traffic.\n-\n---unpacked::\n-\n-\tOnly useful with '--objects'; print the object IDs that are not\n-\tin packs.\n-\n---no-walk::\n-\n-\tOnly show the given revs, but do not traverse their ancestors.\n-\n---do-walk::\n-\n-\tOverrides a previous --no-walk.\n-\n+:git-rev-list: 1\n+include::rev-list-options.txt[]\n \n include::pretty-formats.txt[]\n \ndiff --git a/Documentation/git-rev-list.txt b/Documentation/rev-list-options.txt\nsimilarity index 76%\ncopy from Documentation/git-rev-list.txt\ncopy to Documentation/rev-list-options.txt\nindex db42cd8..a8138e2 100644\n--- a/Documentation/git-rev-list.txt\n+++ b/Documentation/rev-list-options.txt\n@@ -1,99 +1,11 @@\n-git-rev-list(1)\n-===============\n-\n-NAME\n-----\n-git-rev-list - Lists commit objects in reverse chronological order\n-\n-\n-SYNOPSIS\n---------\n-[verse]\n-'git-rev-list' [ \\--max-count=number ]\n-\t     [ \\--skip=number ]\n-\t     [ \\--max-age=timestamp ]\n-\t     [ \\--min-age=timestamp ]\n-\t     [ \\--sparse ]\n-\t     [ \\--no-merges ]\n-\t     [ \\--first-parent ]\n-\t     [ \\--remove-empty ]\n-\t     [ \\--full-history ]\n-\t     [ \\--not ]\n-\t     [ \\--all ]\n-\t     [ \\--stdin ]\n-\t     [ \\--quiet ]\n-\t     [ \\--topo-order ]\n-\t     [ \\--parents ]\n-\t     [ \\--timestamp ]\n-\t     [ \\--left-right ]\n-\t     [ \\--cherry-pick ]\n-\t     [ \\--encoding[=<encoding>] ]\n-\t     [ \\--(author|committer|grep)=<pattern> ]\n-\t     [ \\--regexp-ignore-case | \\-i ]\n-\t     [ \\--extended-regexp | \\-E ]\n-\t     [ \\--date={local|relative|default|iso|rfc|short} ]\n-\t     [ [\\--objects | \\--objects-edge] [ \\--unpacked ] ]\n-\t     [ \\--pretty | \\--header ]\n-\t     [ \\--bisect ]\n-\t     [ \\--bisect-vars ]\n-\t     [ \\--bisect-all ]\n-\t     [ \\--merge ]\n-\t     [ \\--reverse ]\n-\t     [ \\--walk-reflogs ]\n-\t     [ \\--no-walk ] [ \\--do-walk ]\n-\t     <commit>... [ \\-- <paths>... ]\n-\n-DESCRIPTION\n------------\n-\n-Lists commit objects in reverse chronological order starting at the\n-given commit(s), taking ancestry relationship into account.  This is\n-useful to produce human-readable log output.\n-\n-Commits which are stated with a preceding '{caret}' cause listing to\n-stop at that point. Their parents are implied. Thus the following\n-command:\n-\n------------------------------------------------------------------------\n-\t$ git-rev-list foo bar ^baz\n------------------------------------------------------------------------\n-\n-means \"list all the commits which are included in 'foo' and 'bar', but\n-not in 'baz'\".\n-\n-A special notation \"'<commit1>'..'<commit2>'\" can be used as a\n-short-hand for \"{caret}'<commit1>' '<commit2>'\". For example, either of\n-the following may be used interchangeably:\n-\n------------------------------------------------------------------------\n-\t$ git-rev-list origin..HEAD\n-\t$ git-rev-list HEAD ^origin\n------------------------------------------------------------------------\n-\n-Another special notation is \"'<commit1>'...'<commit2>'\" which is useful\n-for merges.  The resulting set of commits is the symmetric difference\n-between the two operands.  The following two commands are equivalent:\n-\n------------------------------------------------------------------------\n-\t$ git-rev-list A B --not $(git-merge-base --all A B)\n-\t$ git-rev-list A...B\n------------------------------------------------------------------------\n-\n-linkgit:git-rev-list[1] is a very essential git program, since it\n-provides the ability to build and traverse commit ancestry graphs. For\n-this reason, it has a lot of different options that enables it to be\n-used by commands as different as linkgit:git-bisect[1] and\n-linkgit:git-repack[1].\n-\n-OPTIONS\n--------\n-\n Commit Formatting\n ~~~~~~~~~~~~~~~~~\n \n+ifdef::git-rev-list[]\n Using these options, linkgit:git-rev-list[1] will act similar to the\n more specialized family of commit log tools: linkgit:git-log[1],\n linkgit:git-show[1], and linkgit:git-whatchanged[1]\n+endif::git-rev-list[]\n \n include::pretty-options.txt[]\n \n@@ -283,8 +195,8 @@ limiting may be applied.\n \n --quiet::\n \n-\tDon't print anything to standard output.  This form of\n-\tgit-rev-list is primarily meant to allow the caller to\n+\tDon't print anything to standard output.  This form\n+\tis primarily meant to allow the caller to\n \ttest the exit status to see if a range of objects is fully\n \tconnected (or not).  It is faster than redirecting stdout\n \tto /dev/null as the output does not have to be formatted.\n@@ -320,6 +232,7 @@ instead.  Under '\\--pretty=oneline', the commit message is\n prefixed with this information on the same line.\n \n Cannot be combined with '\\--reverse'.\n+See also linkgit:git-reflog[1].\n \n --merge::\n \n@@ -341,6 +254,7 @@ Use the '--sparse' flag to makes the command output all eligible commits\n (still subject to count and age limitation), but apply merge\n simplification nevertheless.\n \n+ifdef::git-rev-list[]\n --bisect::\n \n Limit output to the one commit object which is roughly halfway between\n@@ -388,6 +302,7 @@ may not compile for example).\n This option can be used along with `--bisect-vars`, in this case,\n after all the sorted commit objects, there will be the same text as if\n `--bisect-vars` had been used alone.\n+endif::git-rev-list[]\n \n --\n \n@@ -420,7 +335,7 @@ These options are mostly targeted for packing of git repositories.\n --objects::\n \n \tPrint the object IDs of any object referenced by the listed\n-\tcommits.  'git-rev-list --objects foo ^bar' thus means \"send me\n+\tcommits.  '--objects foo ^bar' thus means \"send me\n \tall object IDs which I need to download if I have the commit\n \tobject 'bar', but not 'foo'\".\n \n@@ -444,20 +359,3 @@ These options are mostly targeted for packing of git repositories.\n --do-walk::\n \n \tOverrides a previous --no-walk.\n-\n-\n-include::pretty-formats.txt[]\n-\n-\n-Author\n-------\n-Written by Linus Torvalds <torvalds@osdl.org>\n-\n-Documentation\n---------------\n-Documentation by David Greaves, Junio C Hamano, Jonas Fonseca\n-and the git-list <git@vger.kernel.org>.\n-\n-GIT\n----\n-Part of the linkgit:git[7] suite\n-- \n1.5.4.rc3.4.g16335-dirty\n"},{"id":"65932","messageId":"7v7ii6buei.fsf@gitster.siamese.dyndns.org","threadId":"11660","inReplyTo":"20080118225857.GY29972@genesis.frugalware.org","subject":"Re: [PATCH] Include rev-list options in git-log manpage.","fromName":"Junio C Hamano","fromEmail":"gitster@pobox.com","sentAt":"2008-01-18T23:12:21Z","receivedAt":"2008-01-18T23:12:21Z","isPatch":true,"sender":{"key":"gitster@pobox.com","avatar":"https://avatars.githubusercontent.com/u/54884?v=4"},"body":"Miklos Vajna <vmiklos@frugalware.org> writes:\n\n>> Fixed.\n>\n> My bad, the previous version introduced two typos (ref-list instead of\n> rev-list). This one should be OK.\n\nNow, this moves option descriptions of git-log around for no\ngood reason, other than that it was more convenient in the\nsource.\n\nWhich is not a very good excuse in general, but I do not think\nthe original ordering was carefully designed to be optimal for\nthe readers either, so let's take it.\n\nThanks.\n"}]}