From 69e0c256415a98cd683d977386e624f034643829 Mon Sep 17 00:00:00 2001 From: Junio C Hamano Date: Sun, 30 Oct 2005 01:03:45 -0800 Subject: [PATCH] Update usage string and documentation for git-rev-list. Signed-off-by: Junio C Hamano --- Documentation/git-rev-list.txt | 55 +++++++++++++++++++++++++++++++--- rev-list.c | 32 ++++++++++++-------- 2 files changed, 70 insertions(+), 17 deletions(-) diff --git a/Documentation/git-rev-list.txt b/Documentation/git-rev-list.txt index 7dbb7c660..993911070 100644 --- a/Documentation/git-rev-list.txt +++ b/Documentation/git-rev-list.txt @@ -8,7 +8,18 @@ git-rev-list - Lists commit objects in reverse chronological order SYNOPSIS -------- -'git-rev-list' [ *--max-count*=number ] [ *--max-age*=timestamp ] [ *--min-age*=timestamp ] [ *--bisect* ] [ *--pretty* ] [ *--objects* ] [ *--merge-order* [ *--show-breaks* ] ] [ ...] [ ^ ...] +'git-rev-list' [ \--max-count=number ] + [ \--max-age=timestamp ] + [ \--min-age=timestamp ] + [ \--sparse ] + [ \--no-merges ] + [ \--all ] + [ [ \--merge-order [ \--show-breaks ] ] | [ \--topo-order ] | ] + [ \--parents ] + [ \--objects [ \--unpacked ] ] + [ \--pretty | \--header | ] + [ \--bisect ] + ... [ \-- ... ] DESCRIPTION ----------- @@ -16,22 +27,34 @@ Lists commit objects in reverse chronological order starting at the given commit(s), taking ancestry relationship into account. This is useful to produce human-readable log output. -Commits which are stated with a preceding '^' cause listing to stop at -that point. Their parents are implied. "git-rev-list foo bar ^baz" thus +Commits which are stated with a preceding '{caret}' cause listing to stop at +that point. Their parents are implied. "git-rev-list foo bar {caret}baz" thus means "list all the commits which are included in 'foo' and 'bar', but not in 'baz'". +A special notation .. can be used as a +short-hand for {caret} . + + OPTIONS ------- --pretty:: Print the contents of the commit changesets in human-readable form. +--header:: + Print the contents of the commit in raw-format; each + record is separated with a NUL character. + --objects:: Print the object IDs of any object referenced by the listed commits. 'git-rev-list --objects foo ^bar' thus means "send me all object IDs which I need to download if I have the commit object 'bar', but not 'foo'". +--unpacked:: + Only useful with `--objects`; print the object IDs that + are not in packs. + --bisect:: Limit output to the one commit object which is roughly halfway between the included and excluded commits. Thus, if 'git-rev-list @@ -42,6 +65,29 @@ OPTIONS repeatedly generate and test new 'midpoint's until the commit chain is of length one. +--max-count:: + Limit the number of commits output. + +--max-age=timestamp, --min-age=timestamp:: + Limit the commits output to specified time range. + +--sparse:: + When optional paths are given, the command outputs only + the commits that changes at least one of them. This + flag makes the command ignore the paths, outputting all + eligible commits (still subject to count and age + limitation). + +--all:: + Pretend as if all the refs in `$GIT_DIR/refs/` are + listed on the command line as . + +--topo-order:: + By default, the commits are shown in reverse + chronological order. This option makes them appear in + topological order (i.e. descendant commits are shown + before their parents). + --merge-order:: When specified the commit history is decomposed into a unique sequence of minimal, non-linear epochs and maximal, linear epochs. @@ -84,7 +130,8 @@ Commits marked with (^) are not parents of the immediately preceding commit. These "breaks" represent necessary discontinuities implied by trying to represent an arbtirary DAG in a linear form. + -*--show-breaks* is only valid if *--merge-order* is also specified. +`--show-breaks` is only valid if `--merge-order` is also specified. + Author ------ diff --git a/rev-list.c b/rev-list.c index 2b82b8a96..6e6ffde39 100644 --- a/rev-list.c +++ b/rev-list.c @@ -14,19 +14,25 @@ #define TREECHANGE (1u << 4) static const char rev_list_usage[] = - "git-rev-list [OPTION] commit-id \n" - " --max-count=nr\n" - " --max-age=epoch\n" - " --min-age=epoch\n" - " --parents\n" - " --bisect\n" - " --objects\n" - " --unpacked\n" - " --header\n" - " --pretty\n" - " --no-merges\n" - " --merge-order [ --show-breaks ]\n" - " --topo-order"; +"git-rev-list [OPTION] ... [ -- paths... ]\n" +" limiting output:\n" +" --max-count=nr\n" +" --max-age=epoch\n" +" --min-age=epoch\n" +" --sparse\n" +" --no-merges\n" +" --all\n" +" ordering output:\n" +" --merge-order [ --show-breaks ]\n" +" --topo-order\n" +" formatting output:\n" +" --parents\n" +" --objects\n" +" --unpacked\n" +" --header | --pretty\n" +" special purpose:\n" +" --bisect" +; static int dense = 1; static int unpacked = 0; -- 2.30.2