RE: [PATCH v6 17/19] fsck: Introduce `git fsck --quick`
From: Randall S. Becker <hidden>
Date: 2016-06-15 23:05:25
On June 21, 2015 12:56 AM, Michael Haggerty wrote:
On 06/19/2015 10:53 PM, Junio C Hamano wrote:quoted
Johannes Schindelin [off-list ref] writes:quoted
Can you think of a name for the option that is as short as `--quick` but means the same as `--connectivity-only`?No I can't. I think `--connectivity-only` is a very good name that is unfortunately a mouthful, I agree that we need a name that is as short as `--xxxxx` that means the same as `--connectivity-only`. I do not think `--quick` is that word; it does not mean such a thing.`--connectivity-only` says that "of all the things that fsck can do, skip
everything
except for the connectivity check". But the switch really affects not the connectivity part of the checks (that part is done in either case), but
the blob
part. So, if we ignore the length of the option name for a moment, it
seems like
the options should be something like
`--check-blob-integrity`/`--no-check-blob-
integrity`. The default would remain `--check-blob-integrity` of course,
but
* Someday there might be a config setting that people can use to change
the
default behavior of fsck to `--no-check-blob-integrity`. * Someday there might be other expensive types of checks [1] that we want
to
turn on/off independent of blob integrity checks. But now that I'm writing this, a silly question occurs to me: Do we need
an
overall option like this at all? If I demote all blob-integrity checks to
"ignore"
via the mechanism that you have added, then shouldn't fsck automatically detect that it doesn't have to open the blobs at all and enable this
speedup
automatically? So maybe `--(no-)?check-blob-integrity` is actually a
shorthand
for turning a few more specific checks on/off at once. As for thinking of a shorter name for the option: assuming the blob
integrity
checks can be turned on and off independently as described above, then I
think
it is reasonable to *also* add a `--quick` option defined as
--quick: Skip some expensive checks, dramatically reducing the
runtime of `git fsck`. Currently this is equivalent to
`--no-check-blob-integrity`.
In the future if we invent other expensive checks we might also add themto the
list of things that are skipped by `--quick`.
Synonym suggestions: --links or --relations I was going to include --refs but that may be ambiguous. Links also has meaning so it's probably out and --hitch may just be silly and needlessly introducing a new term. Cheers, Randall -- Brief whoami: NonStop&UNIX developer since approximately UNIX(421664400)/NonStop(211288444200000000) -- In my real life, I talk too much.