Re: [PATCH 16/18] fsck: support demoting errors to warnings
- From
Johannes Schindelin <johannes.schindelin@gmx.de>
- Date
- Jan 31, 2015, 20:41 UTC
- Message-ID
- <81a3242fec22358d9c2c16b632cbbf9d@www.dscho.org>
- In-Reply-To
- <595afdd37f7774361bc18de8003c2d16@www.dscho.org>
Hi Michael & Junio,
On 2015-01-22 18:17, Johannes Schindelin wrote:
Show 7 quoted lines
> [...] we need to avoid confusing settings such as > > ``` > [receive.fsck] > warn = missing-tagger-entry > error = missing-tagger-entry > ```
I *think* I found a solution.
Please let me recapitulate quickly the problem Michael brought up: if we support `receive.fsck.warn` to override `receive.fsck.error` and vice versa, with comma-separated lists, then it can be quite confusing to the user, and actually quite difficult to figure out on the command-line which setting is in effect (because it really depends on the *order* of the receive.fsck.* lines, *plus* the fact that the values are comma-separated lists).
On the other hand, Junio pointed out two shortcomings with my original implementation (i.e. to support `receive.fsck.<id> = (error|warn|ignore)`), however: it is tedious to set multiple severity levels, and it violates the config file convention that the config variable names are CamelCased (the message IDs are dashed-lowercase instead).
The solution I just implemented (and will send out shortly in v4 of the patch series) is the following: the config variable is called receive.fsck.severity and it accepts comma-separated settings. Example:
```
[receive "fsck"]
severity = multiple-authors=ignore,missing-tagger=error
```Now, it is *still* not the easiest to figure out the setting from the command-line:
```sh
$ git config --get-all receive.fsck.severity |
tr "," "\n" |
grep ^multiple-authors= |
tail -n 1
```But I hope this is good enough, Michael?
Ciao, Dscho