Re: [PATCH v6 06/19] fsck: Report the ID of the error/warning

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



That "... can be made ..." was not my wish but more like "the way the
code is structured it is possible for somebody to do such a thing
easily, well done" compliment ;-)

The message names will have to be shown somewhere in the
documentation, and in Documentation/ we try to use camelCase to show
the word boundary; it would be better to match that, as this output is
meant to be used there.

On Fri, Jun 19, 2015 at 2:34 PM, Johannes Schindelin
<johannes.schindelin@xxxxxx> wrote:
> Hi Junio,
>
> On 2015-06-19 21:28, Junio C Hamano wrote:
>> Johannes Schindelin <johannes.schindelin@xxxxxx> writes:
>>
>>> Some legacy code has objects with non-fatal fsck issues; To enable the
>>> user to ignore those issues, let's print out the ID (e.g. when
>>> encountering "missingemail", the user might want to call `git config
>>> --add receive.fsck.missingemail=warn`).
>>>
>>> Signed-off-by: Johannes Schindelin <johannes.schindelin@xxxxxx>
>>> ---
>>>  fsck.c          | 16 ++++++++++++++++
>>>  t/t1450-fsck.sh |  4 ++--
>>>  2 files changed, 18 insertions(+), 2 deletions(-)
>>>
>>> diff --git a/fsck.c b/fsck.c
>>> index 8e6faa8..0b3e18f 100644
>>> --- a/fsck.c
>>> +++ b/fsck.c
>>> @@ -190,6 +190,20 @@ void fsck_set_msg_types(struct fsck_options *options, const char *values)
>>>      }
>>>  }
>>>
>>> +static void append_msg_id(struct strbuf *sb, const char *msg_id)
>>> +{
>>> +    for (;;) {
>>> +            char c = *(msg_id)++;
>>> +
>>> +            if (!c)
>>> +                    break;
>>> +            if (c != '_')
>>> +                    strbuf_addch(sb, tolower(c));
>>> +    }
>>> +
>>> +    strbuf_addstr(sb, ": ");
>>> +}
>>> +
>>>  __attribute__((format (printf, 4, 5)))
>>>  static int report(struct fsck_options *options, struct object *object,
>>>      enum fsck_msg_id id, const char *fmt, ...)
>>> @@ -198,6 +212,8 @@ static int report(struct fsck_options *options, struct object *object,
>>>      struct strbuf sb = STRBUF_INIT;
>>>      int msg_type = fsck_msg_type(id, options), result;
>>>
>>> +    append_msg_id(&sb, msg_id_info[id].id_string);
>>
>>
>> Nice.  The append function can be made a bit more context sensitive
>> to upcase a char immediately after _ to make it easier to cut and
>> paste into "git config" and keep the result readable, I think.
>>
>>       git config --add receive.fsck.missingEmail=warn
>
> Okay. I camelCased the IDs; it is a bit sore on my eyes in the command-line output, and the config variables are case-insensitive, anyway, but your wish is my command... I changed it locally, it will be part of v7.
>
> Ciao,
> Dscho
--
To unsubscribe from this list: send the line "unsubscribe git" in



[Index of Archives]     [Linux Kernel Development]     [Gcc Help]     [IETF Annouce]     [DCCP]     [Netdev]     [Networking]     [Security]     [V4L]     [Bugtraq]     [Yosemite]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux RAID]     [Linux SCSI]     [Fedora Users]