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.<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
--
To unsubscribe from this list: send the line "unsubscribe git" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html

Reply via email to