Jeff King <peff@xxxxxxxx> writes: >> 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. Yeah, I agree with that as one of the worthy goals. IIUC, we decided to leave that outside of this series and later fix on top, which is fine by me, too.