Skip to content

Commit

Permalink
rev-parse(1): logically group options
Browse files Browse the repository at this point in the history
The options section of the git-rev-parse manual page has grown
organically so that there now does not seem to be much logic behind the
ordering of the options.  It also does not make it clear that certain
options must appear first on the command line.

Address this by reorganising the options into groups with subheadings.
The text of option descriptions does not change.

Signed-off-by: John Keeping <john@keeping.me.uk>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
  • Loading branch information
John Keeping authored and Junio C Hamano committed Jul 22, 2013
1 parent 68889b4 commit 49c6391
Showing 1 changed file with 64 additions and 40 deletions.
104 changes: 64 additions & 40 deletions Documentation/git-rev-parse.txt
Original file line number Diff line number Diff line change
Expand Up @@ -24,9 +24,23 @@ distinguish between them.

OPTIONS
-------

Operation Modes
~~~~~~~~~~~~~~~

Each of these options must appear first on the command line.

--parseopt::
Use 'git rev-parse' in option parsing mode (see PARSEOPT section below).

--sq-quote::
Use 'git rev-parse' in shell quoting mode (see SQ-QUOTE
section below). In contrast to the `--sq` option below, this
mode does only quoting. Nothing else is done to command input.

Options for --parseopt
~~~~~~~~~~~~~~~~~~~~~~

--keep-dashdash::
Only meaningful in `--parseopt` mode. Tells the option parser to echo
out the first `--` met instead of skipping it.
Expand All @@ -36,10 +50,8 @@ OPTIONS
the first non-option argument. This can be used to parse sub-commands
that take options themselves.

--sq-quote::
Use 'git rev-parse' in shell quoting mode (see SQ-QUOTE
section below). In contrast to the `--sq` option below, this
mode does only quoting. Nothing else is done to command input.
Options for Filtering
~~~~~~~~~~~~~~~~~~~~~

--revs-only::
Do not output flags and parameters not meant for
Expand All @@ -55,6 +67,9 @@ OPTIONS
--no-flags::
Do not output flag parameters.

Options for Output
~~~~~~~~~~~~~~~~~~

--default <arg>::
If there is no parameter given by the user, use `<arg>`
instead.
Expand Down Expand Up @@ -94,6 +109,17 @@ can be used.
strip '{caret}' prefix from the object names that already have
one.

--abbrev-ref[=(strict|loose)]::
A non-ambiguous short name of the objects name.
The option core.warnAmbiguousRefs is used to select the strict
abbreviation mode.

--short::
--short=number::
Instead of outputting the full SHA-1 values of object names try to
abbreviate them to a shorter unique name. When no length is specified
7 is used. The minimum length is 4.

--symbolic::
Usually the object names are output in SHA-1 form (with
possible '{caret}' prefix); this option makes them output in a
Expand All @@ -107,16 +133,8 @@ can be used.
unfortunately named tag "master"), and show them as full
refnames (e.g. "refs/heads/master").

--abbrev-ref[=(strict|loose)]::
A non-ambiguous short name of the objects name.
The option core.warnAmbiguousRefs is used to select the strict
abbreviation mode.

--disambiguate=<prefix>::
Show every object whose name begins with the given prefix.
The <prefix> must be at least 4 hexadecimal digits long to
avoid listing each and every object in the repository by
mistake.
Options for Objects
~~~~~~~~~~~~~~~~~~~

--all::
Show all refs found in `refs/`.
Expand All @@ -139,18 +157,20 @@ shown. If the pattern does not contain a globbing character (`?`,
character (`?`, `*`, or `[`), it is turned into a prefix
match by appending `/*`.

--show-toplevel::
Show the absolute path of the top-level directory.
--disambiguate=<prefix>::
Show every object whose name begins with the given prefix.
The <prefix> must be at least 4 hexadecimal digits long to
avoid listing each and every object in the repository by
mistake.

--show-prefix::
When the command is invoked from a subdirectory, show the
path of the current directory relative to the top-level
directory.
Options for Files
~~~~~~~~~~~~~~~~~

--show-cdup::
When the command is invoked from a subdirectory, show the
path of the top-level directory relative to the current
directory (typically a sequence of "../", or an empty string).
--local-env-vars::
List the GIT_* environment variables that are local to the
repository (e.g. GIT_DIR or GIT_WORK_TREE, but not GIT_EDITOR).
Only the names of the variables are listed, not their value,
even if they are set.

--git-dir::
Show `$GIT_DIR` if defined. Otherwise show the path to
Expand All @@ -172,17 +192,27 @@ print a message to stderr and exit with nonzero status.
--is-bare-repository::
When the repository is bare print "true", otherwise "false".

--local-env-vars::
List the GIT_* environment variables that are local to the
repository (e.g. GIT_DIR or GIT_WORK_TREE, but not GIT_EDITOR).
Only the names of the variables are listed, not their value,
even if they are set.
--resolve-git-dir <path>::
Check if <path> is a valid repository or a gitfile that
points at a valid repository, and print the location of the
repository. If <path> is a gitfile then the resolved path
to the real repository is printed.

--short::
--short=number::
Instead of outputting the full SHA-1 values of object names try to
abbreviate them to a shorter unique name. When no length is specified
7 is used. The minimum length is 4.
--show-cdup::
When the command is invoked from a subdirectory, show the
path of the top-level directory relative to the current
directory (typically a sequence of "../", or an empty string).

--show-prefix::
When the command is invoked from a subdirectory, show the
path of the current directory relative to the top-level
directory.

--show-toplevel::
Show the absolute path of the top-level directory.

Other Options
~~~~~~~~~~~~~

--since=datestring::
--after=datestring::
Expand All @@ -197,12 +227,6 @@ print a message to stderr and exit with nonzero status.
<args>...::
Flags and parameters to be parsed.

--resolve-git-dir <path>::
Check if <path> is a valid repository or a gitfile that
points at a valid repository, and print the location of the
repository. If <path> is a gitfile then the resolved path
to the real repository is printed.


include::revisions.txt[]

Expand Down

0 comments on commit 49c6391

Please sign in to comment.