From: Junio C Hamano <gitster@pobox.com>
To: Derrick Stolee <stolee@gmail.com>
Cc: Eric Wong <e@80x24.org>,
git@vger.kernel.org,
"brian m. carlson" <sandals@crustytoothpaste.net>
Subject: Re: [PATCH] core.abbrev <off|false|no> disables abbreviations
Date: Tue, 01 Sep 2020 08:49:55 -0700 [thread overview]
Message-ID: <xmqqblipebto.fsf@gitster.c.googlers.com> (raw)
In-Reply-To: <9c00f29b-45e4-ccdf-6d81-5eabd58c875b@gmail.com> (Derrick Stolee's message of "Tue, 1 Sep 2020 08:14:32 -0400")
Derrick Stolee <stolee@gmail.com> writes:
>> + 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.
I do not particularly mind, but if we imitate the variety of various
boolean false, I'd prefer to see the code to parse them shared to
avoid them drifting apart over time.
> "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.
I was in the vicinity of this code recently for reviewing another
topic, but IIRC, 0 came from the UI level does get rounded up to the
minimum accepted and never reach "default_abbrev", but if you manage
to place 0 or -1 in default_abbrev here (e.g. with additional code,
like the above part with the right hand side of the assignment
updated), I think the value will propagate throughout the codepath
and causes the downstream code to do the right thing. 0 will give
you no-abbreviation (i.e. full length depending on the length of the
hash) and -1 will give you the "scale as appropriate for the size of
the object store".
I have mild preference for using 0 over hardcoded single "full
length" here. Even though we currently do not plan to allow
multiple hashes in use simultaneously in a single invocation of Git,
if that ever happens, we will regret hardcoding the_hash_algo->hexsz
on the right hand side of the assignment here, like this patch does.
Telling the downstream code in the control flow that we want no
truncation by using 0 would keep both 40-hexdigit and 64-hexdigit
hashes to their original length (as opposed to telling it to
truncate at 40 or 64 by using the_hash_algo->hexsz).
Thanks.
next prev parent reply other threads:[~2020-09-01 15:51 UTC|newest]
Thread overview: 13+ messages / expand[flat|nested] mbox.gz Atom feed top
2020-09-01 7:43 [PATCH] core.abbrev <off|false|no> disables abbreviations Eric Wong
2020-09-01 12:14 ` Derrick Stolee
2020-09-01 14:43 ` Eric Wong
2020-09-01 14:59 ` Derrick Stolee
2020-12-22 19:42 ` Junio C Hamano
2020-12-22 23:17 ` Eric Wong
2020-12-22 23:24 ` Junio C Hamano
2020-12-23 0:10 ` Junio C Hamano
2020-12-23 14:38 ` Derrick Stolee
2020-12-23 20:21 ` brian m. carlson
2020-09-01 15:49 ` Junio C Hamano [this message]
2020-09-01 19:14 ` Junio C Hamano
2020-09-01 23:37 ` brian m. carlson
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=xmqqblipebto.fsf@gitster.c.googlers.com \
--to=gitster@pobox.com \
--cc=e@80x24.org \
--cc=git@vger.kernel.org \
--cc=sandals@crustytoothpaste.net \
--cc=stolee@gmail.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.