doc: clarify that --abbrev=<n> is about the minimum length

Early text written in 2006 explains the "--abbrev=<n>" option to
"show only a partial prefix", without saying that the length of the
partial prefix is not necessarily the number given to the option to
ensure that the output names the object uniquely.

Update documentation for the diff family of commands, "blame",
"branch --verbose", "ls-files" and "ls-tree" to stress that the
short prefix must uniquely refer to an object, and <n> is merely
the mininum number of hexdigits used in the prefix.

Helped-by: Derrick Stolee <dstolee@microsoft.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
This commit is contained in:
Junio C Hamano 2020-11-04 14:01:37 -08:00
parent 898f80736c
commit cda34e0d0c
6 changed files with 18 additions and 11 deletions

View file

@ -446,7 +446,8 @@ endif::git-format-patch[]
--abbrev[=<n>]::
Instead of showing the full 40-byte hexadecimal object
name in diff-raw format output and diff-tree header
lines, show only a partial prefix.
lines, show the shortest prefix that is at least '<n>'
hexdigits long that uniquely refers the object.
In diff-patch output format, `--full-index` takes higher
precedence, i.e. if `--full-index` is specified, full blob
names will be shown regardless of `--abbrev`.

View file

@ -87,7 +87,9 @@ include::blame-options.txt[]
--abbrev=<n>::
Instead of using the default 7+1 hexadecimal digits as the
abbreviated object name, use <n>+1 digits. Note that 1 column
abbreviated object name, use <m>+1 digits, where <m> is at
least <n> but ensures the commit object names are unique.
Note that 1 column
is used for a caret to mark the boundary commit.

View file

@ -9,7 +9,7 @@ SYNOPSIS
--------
[verse]
'git branch' [--color[=<when>] | --no-color] [--show-current]
[-v [--abbrev=<length> | --no-abbrev]]
[-v [--abbrev=<n> | --no-abbrev]]
[--column[=<options>] | --no-column] [--sort=<key>]
[--merged [<commit>]] [--no-merged [<commit>]]
[--contains [<commit>]] [--no-contains [<commit>]]
@ -194,8 +194,10 @@ This option is only applicable in non-verbose mode.
Be more quiet when creating or deleting a branch, suppressing
non-error messages.
--abbrev=<length>::
Alter the sha1's minimum display length in the output listing.
--abbrev=<n>::
In the verbose listing that show the commit object name,
show the shortest prefix that is at least '<n>' hexdigits
long that uniquely refers the object.
The default value is 7 and can be overridden by the `core.abbrev`
config option.

View file

@ -19,7 +19,7 @@ SYNOPSIS
[--exclude-standard]
[--error-unmatch] [--with-tree=<tree-ish>]
[--full-name] [--recurse-submodules]
[--abbrev] [--] [<file>...]
[--abbrev[=<n>]] [--] [<file>...]
DESCRIPTION
-----------
@ -153,7 +153,8 @@ a space) at the start of each line:
--abbrev[=<n>]::
Instead of showing the full 40-byte hexadecimal object
lines, show only a partial prefix.
lines, show the shortest prefix that is at least '<n>'
hexdigits long that uniquely refers the object.
Non default number of digits can be specified with --abbrev=<n>.
--debug::

View file

@ -62,7 +62,8 @@ OPTIONS
--abbrev[=<n>]::
Instead of showing the full 40-byte hexadecimal object
lines, show only a partial prefix.
lines, show the shortest prefix that is at least '<n>'
hexdigits long that uniquely refers the object.
Non default number of digits can be specified with --abbrev=<n>.
--full-name::

View file

@ -16,9 +16,9 @@ configuration (see linkgit:git-config[1]).
--abbrev-commit::
Instead of showing the full 40-byte hexadecimal commit object
name, show only a partial prefix. Non default number of
digits can be specified with "--abbrev=<n>" (which also modifies
diff output, if it is displayed).
name, show a prefix that names the object uniquely.
"--abbrev=<n>" (which also modifies diff output, if it is displayed)
option can be used to specify the minimum length of the prefix.
+
This should make "--pretty=oneline" a whole lot more readable for
people using 80-column terminals.