On Wed, Mar 08, 2017 at 09:09:31AM -0800, Junio C Hamano wrote: > Jeff King <peff@xxxxxxxx> writes: > > > Good catch. Another "non-gentle" thing I noticed here while looking at > > another thread: the repository-format version check uses the config > > parser, which will die() in certain circumstances. So for instance: > > > > $ git init > > $ git rev-parse && echo ok > > ok > > > > $ echo '[core]repositoryformatversion = 10' >.git/config > > $ git rev-parse && echo ok > > fatal: Expected git repo version <= 1, found 10 > > Just to set my expectation straight. Do you expect/wish this not to > fail because of this in cmd_rev_parse()? No, I was just using "rev-parse" as a sample command that tried to do repo setup. I meant the above snippet that you quoted to both be fine and expected outputs. The problem is the _other_ two cases where the config code dies before we even get to the version-number check. > Or are you discussing a more general issue, iow, anything that can > work without repository (i.e. those who do _gently version of the > setup and act on *nongit_ok) should pretend as if there were no > (broken) repository and take the "no we are not in a repository" > codepath? Yes, exactly. It would have been less confusing if I picked something that passed nongit_ok. Like hash-object: $ git init $ echo content >file $ git hash-object file d95f3ad14dee633a758d2e331151e950dd13e4ed $ echo '[core]repositoryformatversion = 10' >.git/config $ git hash-object file warning: Expected git repo version <= 1, found 10 d95f3ad14dee633a758d2e331151e950dd13e4ed The warning is fine and reasonable here. But then: $ echo '[core]repositoryformatversion = foobar' >.git/config $ git hash-object file fatal: bad numeric config value 'foobar' for 'core.repositoryformatversion' in file .git/config: invalid unit That's wrong. We're supposed to be gentle. And ditto: $ echo '[co' >.git/config $ git hash-object file fatal: bad config line 1 in file .git/config Those last two should issue a warning at most, and then let the command continue. -Peff