Re: [PATCH] core.abbrev <off|false|no> disables abbreviations
- From
Derrick Stolee <stolee@gmail.com>
- Date
- Sep 1, 2020, 12:14 UTC
- Message-ID
- <9c00f29b-45e4-ccdf-6d81-5eabd58c875b@gmail.com>
- In-Reply-To
- <20200901074355.GA4498@dcvr>
On 9/1/2020 3:43 AM, Eric Wong wrote:
Show 26 quoted lines
> These allows users to write hash-agnostic scripts and configs to > disable abbreviations. Using "-c core.abbrev=40" will be > insufficient with SHA-256, and "-c core.abbrev=64" won't work > with SHA-1 repos today. > > Signed-off-by: Eric Wong <e@80x24.org> > --- > I kinda wanted to allow a value of "max", but I figured the existing > boolean falsiness words might make more sense with `--no-abbrev' in > for some commands... Naming is hard :x > > config.c | 4 ++++ > 1 file changed, 4 insertions(+) > > diff --git a/config.c b/config.c > index 2bdff4457b..f2e09c72ca 100644 > --- a/config.c > +++ b/config.c > @@ -1217,6 +1217,10 @@ static int git_default_core_config(const char *var, const char *value, void *cb) > return config_error_nonbool(var); > if (!strcasecmp(value, "auto")) > default_abbrev = -1; > + else if (!strcasecmp(value, "false") || > + !strcasecmp(value, "no") || > + !strcasecmp(value, "off")) > + default_abbrev = the_hash_algo->hexsz;
I'm not sure we need three synonyms for "no-abbrev" here.
"false" would be natural, except I think in a few places the config value "0" is also interpreted as "false", but as seen below a value of "0" snaps up to the minimum allowed abbreviation.
> else {
> int abbrev = git_config_int(var, value);
> if (abbrev < minimum_abbrev || abbrev > the_hash_algo->hexsz)Perhaps "core.abbrev = never" would be a good option?
After we decide on the word, this patch needs:
* Updates to Documentation/config/core.txt * A test that works with both hash versions.
Thanks, -Stolee