Thread (1 message) 1 message, 1 author, 2016-06-15

Re: [PATCH 1/2] status: really ignore config with --porcelain

From: Matthieu Moy <hidden>
Date: 2016-06-15 22:57:54

Junio C Hamano [off-list ref] writes:
Matthieu Moy [off-list ref] writes:
quoted
quoted
Basically, having the CLI parser and the config parser flip two
different sets of variables, so we can discriminate who set what.
What annoys me is that this is the first instance of such a
requirement.
I don't think it's the first instance, but I can't remember precise
examples.
"First read config, override with command line" is what we always
do.  One recent workaround with selective exception I can think of
offhand is in diff config parser 6c374008 (diff_opt: track whether
flags have been set explicitly, 2013-05-10), but I am fairly sure
there are others.
That was the one I had in mind.
quoted
quoted
The approach I'm currently tilting towards is extending the
parse-options API to allow parsing one special option early.  I would
argue that this is a good feature that we should have asked for when
we saw 6758af89e (Merge branch 'jn/git-cmd-h-bypass-setup',
2010-12-10).  What do you think?
That's an option too, yes. But probably not easy to implement :-(.
Isn't it essentially your second option (running the CLI parser
before once, then read config, and then run the CLI parser for
real)?
Not really. The first run should be a kind of dry-run, except for the
--porcelain part.
In any case, I am still not convinced yet that status.short is a
real problem if --porcelain readers trip with "## branchname"
output.  Isn't it that the readers are broken and need fixing?
Before introducing status.short, scripts could call "git status
--porcelain" and get some output. They had no way to know whether
something would be added in the future. Now, they can run the same
command and get a different output. To me, that's exactly what we're
trying to avoid in plumbing.

The configuration file here is really meant for the user, not for
scripts. Scripts that want the branch information can use --branch.
Scripts that do not have absolutely nothing to gain in getting this
extra output (only extra parser complexity).

-- 
Matthieu Moy
http://www-verimag.imag.fr/~moy/
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help