Browse Source

config.abbrev: document the new default that auto-scales

We somehow forgot to update the "default is 7" in the
documentation.  Also give a way to explicitly ask the auto-scaling
by setting config.abbrev to "auto".

Signed-off-by: Junio C Hamano <gitster@pobox.com>
maint
Junio C Hamano 8 years ago
parent
commit
48d5014dd4
  1. 9
      Documentation/config.txt
  2. 14
      config.c

9
Documentation/config.txt

@ -783,10 +783,11 @@ core.sparseCheckout:: @@ -783,10 +783,11 @@ core.sparseCheckout::
linkgit:git-read-tree[1] for more information.

core.abbrev::
Set the length object names are abbreviated to. If unspecified,
many commands abbreviate to 7 hexdigits, which may not be enough
for abbreviated object names to stay unique for sufficiently long
time.
Set the length object names are abbreviated to. If
unspecified or set to "auto", an appropriate value is
computed based on the approximate number of packed objects
in your repository, which hopefully is enough for
abbreviated object names to stay unique for some time.

add.ignoreErrors::
add.ignore-errors (deprecated)::

14
config.c

@ -834,10 +834,16 @@ static int git_default_core_config(const char *var, const char *value) @@ -834,10 +834,16 @@ static int git_default_core_config(const char *var, const char *value)
}

if (!strcmp(var, "core.abbrev")) {
int abbrev = git_config_int(var, value);
if (abbrev < minimum_abbrev || abbrev > 40)
return -1;
default_abbrev = abbrev;
if (!value)
return config_error_nonbool(var);
if (!strcasecmp(value, "auto"))
default_abbrev = -1;
else {
int abbrev = git_config_int(var, value);
if (abbrev < minimum_abbrev || abbrev > 40)
return error("abbrev length out of range: %d", abbrev);
default_abbrev = abbrev;
}
return 0;
}


Loading…
Cancel
Save