Thread (3 messages) flat view 3 messages, 2 authors, 2016-06-15

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

From: Junio C Hamano <hidden>
Date: 2016-06-15 23:05:25

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
[off-list ref] wrote:
Hi Junio,

On 2015-06-19 21:28, Junio C Hamano wrote:
quoted
Johannes Schindelin [off-list ref] writes:
quoted
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 <redacted>
---
 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
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help