From: Johannes Schindelin Date: Sat, 31 Jan 2015 20:41:32 GMT Subject: Re: [PATCH 16/18] fsck: support demoting errors to warnings 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: > [...] 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. = (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