All of lore.kernel.org
 help / color / mirror / Atom feed
From: Johannes Schindelin <johannes.schindelin@gmx.de>
To: gitster@pobox.com
Cc: git@vger.kernel.org, mhagger@alum.mit.edu, peff@peff.net
Subject: [PATCH v6 04/19] fsck: Offer a function to demote fsck errors to warnings
Date: Fri, 19 Jun 2015 15:33:12 +0200	[thread overview]
Message-ID: <44acafb2cf0a98e5ad75e3da24ba0e7453e6118f.1434720655.git.johannes.schindelin@gmx.de> (raw)
In-Reply-To: <cover.1434720655.git.johannes.schindelin@gmx.de>

There are legacy repositories out there whose older commits and tags
have issues that prevent pushing them when 'receive.fsckObjects' is set.
One real-life example is a commit object that has been hand-crafted to
list two authors.

Often, it is not possible to fix those issues without disrupting the
work with said repositories, yet it is still desirable to perform checks
by setting `receive.fsckObjects = true`. This commit is the first step
to allow demoting specific fsck issues to mere warnings.

The `fsck_set_msg_types()` function added by this commit parses a list
of settings in the form:

	missingemail=warn,badname=warn,...

Unfortunately, the FSCK_WARN/FSCK_ERROR flag is only really heeded by
git fsck so far, but other call paths (e.g. git index-pack --strict)
error out *always* no matter what type was specified. Therefore, we need
to take extra care to set all message types to FSCK_ERROR by default in
those cases.

Signed-off-by: Johannes Schindelin <johannes.schindelin@gmx.de>
---
 fsck.c | 82 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++---
 fsck.h | 10 ++++++--
 2 files changed, 87 insertions(+), 5 deletions(-)

diff --git a/fsck.c b/fsck.c
index da5717c..8c3caff 100644
--- a/fsck.c
+++ b/fsck.c
@@ -103,13 +103,85 @@ static int fsck_msg_type(enum fsck_msg_id msg_id,
 {
 	int msg_type;
 
-	msg_type = msg_id_info[msg_id].msg_type;
-	if (options->strict && msg_type == FSCK_WARN)
-		msg_type = FSCK_ERROR;
+	assert(msg_id >= 0 && msg_id < FSCK_MSG_MAX);
+
+	if (options->msg_type)
+		msg_type = options->msg_type[msg_id];
+	else {
+		msg_type = msg_id_info[msg_id].msg_type;
+		if (options->strict && msg_type == FSCK_WARN)
+			msg_type = FSCK_ERROR;
+	}
 
 	return msg_type;
 }
 
+static inline int substrcmp(const char *string, int len, const char *match)
+{
+	int match_len = strlen(match);
+	if (match_len != len)
+		return -1;
+	return memcmp(string, match, len);
+}
+
+static int parse_msg_type(const char *str, int len)
+{
+	if (len < 0)
+		len = strlen(str);
+
+	if (!substrcmp(str, len, "error"))
+		return FSCK_ERROR;
+	else if (!substrcmp(str, len, "warn"))
+		return FSCK_WARN;
+	else
+		die("Unknown fsck message type: '%.*s'",
+				len, str);
+}
+
+void fsck_set_msg_type(struct fsck_options *options,
+		const char *msg_id, int msg_id_len,
+		const char *msg_type, int msg_type_len)
+{
+	int id = parse_msg_id(msg_id, msg_id_len), type;
+
+	if (id < 0)
+		die("Unhandled message id: %.*s", msg_id_len, msg_id);
+	type = parse_msg_type(msg_type, msg_type_len);
+
+	if (!options->msg_type) {
+		int i;
+		int *msg_type = xmalloc(sizeof(int) * FSCK_MSG_MAX);
+		for (i = 0; i < FSCK_MSG_MAX; i++)
+			msg_type[i] = fsck_msg_type(i, options);
+		options->msg_type = msg_type;
+	}
+
+	options->msg_type[id] = type;
+}
+
+void fsck_set_msg_types(struct fsck_options *options, const char *values)
+{
+	while (*values) {
+		int len = strcspn(values, " ,|"), equal;
+
+		if (!len) {
+			values++;
+			continue;
+		}
+
+		for (equal = 0; equal < len; equal++)
+			if (values[equal] == '=' || values[equal] == ':')
+				break;
+
+		if (equal == len)
+			die("Missing '=': '%.*s'", len, values);
+
+		fsck_set_msg_type(options, values, equal,
+				values + equal + 1, len - equal - 1);
+		values += len;
+	}
+}
+
 __attribute__((format (printf, 4, 5)))
 static int report(struct fsck_options *options, struct object *object,
 	enum fsck_msg_id id, const char *fmt, ...)
@@ -599,6 +671,10 @@ int fsck_object(struct object *obj, void *data, unsigned long size,
 
 int fsck_error_function(struct object *obj, int msg_type, const char *message)
 {
+	if (msg_type == FSCK_WARN) {
+		warning("object %s: %s", sha1_to_hex(obj->sha1), message);
+		return 0;
+	}
 	error("object %s: %s", sha1_to_hex(obj->sha1), message);
 	return 1;
 }
diff --git a/fsck.h b/fsck.h
index f6f268a..edb4540 100644
--- a/fsck.h
+++ b/fsck.h
@@ -6,6 +6,11 @@
 
 struct fsck_options;
 
+void fsck_set_msg_type(struct fsck_options *options,
+		const char *msg_id, int msg_id_len,
+		const char *msg_type, int msg_type_len);
+void fsck_set_msg_types(struct fsck_options *options, const char *values);
+
 /*
  * callback function for fsck_walk
  * type is the expected type of the object or OBJ_ANY
@@ -25,10 +30,11 @@ struct fsck_options {
 	fsck_walk_func walk;
 	fsck_error error_func;
 	unsigned strict:1;
+	int *msg_type;
 };
 
-#define FSCK_OPTIONS_DEFAULT { NULL, fsck_error_function, 0 }
-#define FSCK_OPTIONS_STRICT { NULL, fsck_error_function, 1 }
+#define FSCK_OPTIONS_DEFAULT { NULL, fsck_error_function, 0, NULL }
+#define FSCK_OPTIONS_STRICT { NULL, fsck_error_function, 1, NULL }
 
 /* descend in all linked child objects
  * the return value is:
-- 
2.3.1.windows.1.9.g8c01ab4

  parent reply	other threads:[~2015-06-19 13:33 UTC|newest]

Thread overview: 275+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2014-12-08 16:13 [PATCH 00/18] Introduce an internal API to interact with the fsck machinery Johannes Schindelin
2014-12-08 16:14 ` [PATCH 01/18] Introduce fsck options Johannes Schindelin
2014-12-10 15:33   ` Junio C Hamano
2014-12-22 17:26     ` Johannes Schindelin
2014-12-22 17:32       ` Junio C Hamano
2014-12-08 16:14 ` [PATCH 02/18] Introduce identifiers for fsck messages Johannes Schindelin
2014-12-08 16:14 ` [PATCH 03/18] Provide a function to parse fsck message IDs Johannes Schindelin
2014-12-10 17:56   ` Junio C Hamano
2014-12-22 21:27     ` Johannes Schindelin
2014-12-08 16:14 ` [PATCH 04/18] Offer a function to demote fsck errors to warnings Johannes Schindelin
2014-12-10 18:00   ` Junio C Hamano
2014-12-22 21:43     ` Johannes Schindelin
2014-12-22 21:59       ` Junio C Hamano
2014-12-22 22:32         ` Johannes Schindelin
2014-12-22 22:40           ` Junio C Hamano
2014-12-22 22:55             ` Johannes Schindelin
2014-12-22 23:15               ` Junio C Hamano
2014-12-23 10:53                 ` Johannes Schindelin
2014-12-23 16:18                   ` Junio C Hamano
2014-12-23 16:30                     ` Johannes Schindelin
2014-12-23 17:20                       ` Junio C Hamano
2014-12-23 17:28                         ` Johannes Schindelin
2014-12-23 18:14                           ` Junio C Hamano
2014-12-23 18:23                             ` Johannes Schindelin
2014-12-08 16:14 ` [PATCH 05/18] Allow demoting errors to warnings via receive.fsck.<key> = warn Johannes Schindelin
2014-12-10 17:52   ` Junio C Hamano
2014-12-22 21:44     ` Johannes Schindelin
2014-12-08 16:14 ` [PATCH 06/18] fsck: report the ID of the error/warning Johannes Schindelin
2014-12-08 16:14 ` [PATCH 07/18] Make fsck_ident() warn-friendly Johannes Schindelin
2014-12-08 16:14 ` [PATCH 08/18] Make fsck_commit() warn-friendly Johannes Schindelin
2014-12-08 16:15 ` [PATCH 09/18] fsck: handle multiple authors in commits specially Johannes Schindelin
2014-12-10 18:04   ` Junio C Hamano
2014-12-22 21:53     ` Johannes Schindelin
2014-12-08 16:15 ` [PATCH 10/18] Make fsck_tag() warn-friendly Johannes Schindelin
2014-12-08 16:15 ` [PATCH 11/18] Add a simple test for receive.fsck.* Johannes Schindelin
2014-12-08 16:15 ` [PATCH 12/18] Disallow demoting grave fsck errors to warnings Johannes Schindelin
2014-12-10 18:06   ` Junio C Hamano
2014-12-22 21:56     ` Johannes Schindelin
2014-12-08 16:15 ` [PATCH 13/18] Optionally ignore specific fsck issues completely Johannes Schindelin
2014-12-10 18:07   ` Junio C Hamano
2014-12-08 16:15 ` [PATCH 14/18] fsck: allow upgrading fsck warnings to errors Johannes Schindelin
2014-12-10 18:08   ` Junio C Hamano
2014-12-22 22:01     ` Johannes Schindelin
2014-12-22 22:15       ` Junio C Hamano
2014-12-22 22:39         ` Johannes Schindelin
2014-12-08 16:15 ` [PATCH 15/18] Document the new receive.fsck.* options Johannes Schindelin
2014-12-08 16:15 ` [PATCH 16/18] fsck: support demoting errors to warnings Johannes Schindelin
2014-12-10 18:15   ` Junio C Hamano
2014-12-22 22:25     ` Johannes Schindelin
2014-12-22 22:34       ` Junio C Hamano
2014-12-22 22:46         ` Johannes Schindelin
2014-12-22 22:50           ` Junio C Hamano
2014-12-22 22:57             ` Johannes Schindelin
2014-12-22 23:13               ` Junio C Hamano
2014-12-23  9:50                 ` Johannes Schindelin
2014-12-23 16:32                   ` Junio C Hamano
2014-12-23 16:47                     ` Johannes Schindelin
2014-12-23 17:14                       ` Junio C Hamano
2014-12-23 17:41                         ` Johannes Schindelin
2014-12-23 17:56                           ` Junio C Hamano
2014-12-23 18:06                             ` Johannes Schindelin
2014-12-23 18:09                             ` Junio C Hamano
2014-12-23 18:14                               ` Johannes Schindelin
2014-12-23 18:56                                 ` Junio C Hamano
2014-12-23 20:12                                   ` Johannes Schindelin
2014-12-23 21:17                                     ` Junio C Hamano
2015-01-22 15:49                         ` Michael Haggerty
2015-01-22 17:17                           ` Johannes Schindelin
2015-01-31 20:41                             ` Johannes Schindelin
2014-12-23 17:07                     ` Junio C Hamano
2014-12-08 16:15 ` [PATCH 17/18] Introduce `git fsck --quick` Johannes Schindelin
2014-12-08 16:15 ` [PATCH 18/18] git receive-pack: support excluding objects from fsck'ing Johannes Schindelin
2014-12-10 18:23   ` Junio C Hamano
2014-12-22 22:19     ` Johannes Schindelin
2014-12-10 18:34 ` [PATCH 00/18] Introduce an internal API to interact with the fsck machinery Junio C Hamano
2015-01-19 15:49   ` [PATCH v2 " Johannes Schindelin
2015-01-19 15:50     ` [PATCH v2 01/18] fsck: Introduce fsck options Johannes Schindelin
2015-01-19 15:50     ` [PATCH v2 02/18] fsck: Introduce identifiers for fsck messages Johannes Schindelin
2015-01-19 15:50     ` [PATCH v2 03/18] fsck: Provide a function to parse fsck message IDs Johannes Schindelin
2015-01-19 15:50     ` [PATCH v2 04/18] fsck: Offer a function to demote fsck errors to warnings Johannes Schindelin
2015-01-21  8:49       ` Junio C Hamano
2015-01-21 17:42         ` Johannes Schindelin
2015-01-19 15:50     ` [PATCH v2 05/18] fsck: Allow demoting errors to warnings via receive.fsck.warn = <key> Johannes Schindelin
2015-01-21  8:54       ` Junio C Hamano
2015-01-21 18:01         ` Johannes Schindelin
2015-01-21 21:47           ` Junio C Hamano
2015-01-22  9:35             ` Johannes Schindelin
2015-01-19 15:50     ` [PATCH v2 06/18] fsck: Report the ID of the error/warning Johannes Schindelin
2015-01-19 15:50     ` [PATCH v2 07/18] fsck: Make fsck_ident() warn-friendly Johannes Schindelin
2015-01-21  8:56       ` Junio C Hamano
2015-01-19 15:50     ` [PATCH v2 08/18] fsck: Make fsck_commit() warn-friendly Johannes Schindelin
2015-01-19 15:51     ` [PATCH v2 09/18] fsck: Handle multiple authors in commits specially Johannes Schindelin
2015-01-19 15:51     ` [PATCH v2 10/18] fsck: Make fsck_tag() warn-friendly Johannes Schindelin
2015-01-19 15:51     ` [PATCH v2 11/18] fsck: Add a simple test for receive.fsck.* Johannes Schindelin
2015-01-21  8:59       ` Junio C Hamano
2015-01-21 18:14         ` Johannes Schindelin
2015-01-19 15:51     ` [PATCH v2 12/18] fsck: Disallow demoting grave fsck errors to warnings Johannes Schindelin
2015-01-19 15:51     ` [PATCH v2 13/18] fsck: Optionally ignore specific fsck issues completely Johannes Schindelin
2015-01-19 15:51     ` [PATCH v2 14/18] fsck: Allow upgrading fsck warnings to errors Johannes Schindelin
2015-01-19 15:51     ` [PATCH v2 15/18] fsck: Document the new receive.fsck.* options Johannes Schindelin
2015-01-19 22:44       ` Eric Sunshine
2015-01-20  7:24         ` Johannes Schindelin
2015-01-19 15:51     ` [PATCH v2 16/18] fsck: Support demoting errors to warnings Johannes Schindelin
2015-01-19 15:51     ` [PATCH v2 17/18] fsck: Introduce `git fsck --quick` Johannes Schindelin
2015-01-19 15:52     ` [PATCH v2 18/18] fsck: git receive-pack: support excluding objects from fsck'ing Johannes Schindelin
2015-01-21  9:02       ` Junio C Hamano
2015-01-21 18:17         ` Johannes Schindelin
2015-01-21  9:17     ` [PATCH v2 00/18] Introduce an internal API to interact with the fsck machinery Junio C Hamano
2015-01-21 18:24       ` Johannes Schindelin
2015-01-21 19:23   ` [PATCH v3 00/19] " Johannes Schindelin
2015-01-21 19:24     ` [PATCH v3 01/19] fsck: Introduce fsck options Johannes Schindelin
2015-01-21 19:24     ` [PATCH v3 02/19] fsck: Introduce identifiers for fsck messages Johannes Schindelin
2015-01-21 19:24     ` [PATCH v3 03/19] fsck: Provide a function to parse fsck message IDs Johannes Schindelin
2015-01-21 19:24     ` [PATCH v3 04/19] fsck: Offer a function to demote fsck errors to warnings Johannes Schindelin
2015-01-21 19:24     ` [PATCH v3 05/19] fsck: Allow demoting errors to warnings via receive.fsck.warn = <key> Johannes Schindelin
2015-01-21 19:25     ` [PATCH v3 06/19] fsck: Report the ID of the error/warning Johannes Schindelin
2015-01-21 19:25     ` [PATCH v3 07/19] fsck: Make fsck_ident() warn-friendly Johannes Schindelin
2015-01-21 19:25     ` [PATCH v3 08/19] fsck: Make fsck_commit() warn-friendly Johannes Schindelin
2015-01-21 19:25     ` [PATCH v3 09/19] fsck: Handle multiple authors in commits specially Johannes Schindelin
2015-01-21 19:25     ` [PATCH v3 10/19] fsck: Make fsck_tag() warn-friendly Johannes Schindelin
2015-01-21 19:25     ` [PATCH v3 11/19] fsck: Add a simple test for receive.fsck.* Johannes Schindelin
2015-01-21 19:26     ` [PATCH v3 12/19] fsck: Disallow demoting grave fsck errors to warnings Johannes Schindelin
2015-01-21 19:26     ` [PATCH v3 13/19] fsck: Optionally ignore specific fsck issues completely Johannes Schindelin
2015-01-21 19:26     ` [PATCH v3 14/19] fsck: Allow upgrading fsck warnings to errors Johannes Schindelin
2015-01-21 19:27     ` [PATCH v3 15/19] fsck: Document the new receive.fsck.* options Johannes Schindelin
2015-01-21 19:27     ` [PATCH v3 16/19] fsck: Support demoting errors to warnings Johannes Schindelin
2015-01-21 19:27     ` [PATCH v3 17/19] fsck: Introduce `git fsck --quick` Johannes Schindelin
2015-01-21 19:27     ` [PATCH v3 18/19] fsck: git receive-pack: support excluding objects from fsck'ing Johannes Schindelin
2015-01-21 19:27     ` [PATCH v3 19/19] fsck: support ignoring objects in `git fsck` via fsck.skiplist Johannes Schindelin
2015-01-31 21:04   ` [PATCH v4 00/19] Introduce an internal API to interact with the fsck machinery Johannes Schindelin
2015-01-31 21:04     ` [PATCH v4 01/19] fsck: Introduce fsck options Johannes Schindelin
2015-01-31 21:04     ` [PATCH v4 02/19] fsck: Introduce identifiers for fsck messages Johannes Schindelin
2015-01-31 21:04     ` [PATCH v4 03/19] fsck: Provide a function to parse fsck message IDs Johannes Schindelin
2015-01-31 21:05     ` [PATCH v4 05/19] fsck: Allow demoting errors to warnings Johannes Schindelin
2015-01-31 21:05     ` [PATCH v4 04/19] fsck: Offer a function to demote fsck " Johannes Schindelin
2015-01-31 21:05     ` [PATCH v4 11/19] fsck: Add a simple test for receive.fsck.severity Johannes Schindelin
2015-01-31 21:05     ` [PATCH v4 12/19] fsck: Disallow demoting grave fsck errors to warnings Johannes Schindelin
2015-01-31 21:05     ` [PATCH v4 07/19] fsck: Make fsck_ident() warn-friendly Johannes Schindelin
2015-01-31 21:05     ` [PATCH v4 08/19] fsck: Make fsck_commit() warn-friendly Johannes Schindelin
2015-01-31 21:05     ` [PATCH v4 10/19] fsck: Make fsck_tag() warn-friendly Johannes Schindelin
2015-01-31 21:06     ` [PATCH v4 15/19] fsck: Document the new receive.fsck.severity options Johannes Schindelin
2015-01-31 21:06     ` [PATCH v4 09/19] fsck: Handle multiple authors in commits specially Johannes Schindelin
2015-01-31 21:06     ` [PATCH v4 14/19] fsck: Allow upgrading fsck warnings to errors Johannes Schindelin
2015-01-31 21:06     ` [PATCH v4 06/19] fsck: Report the ID of the error/warning Johannes Schindelin
2015-01-31 21:06     ` [PATCH v4 13/19] fsck: Optionally ignore specific fsck issues completely Johannes Schindelin
2015-01-31 21:06     ` [PATCH v4 16/19] fsck: Support demoting errors to warnings Johannes Schindelin
2015-01-31 21:06     ` [PATCH v4 17/19] fsck: Introduce `git fsck --quick` Johannes Schindelin
2015-01-31 21:06     ` [PATCH v4 18/19] fsck: git receive-pack: support excluding objects from fsck'ing Johannes Schindelin
2015-01-31 21:07     ` [PATCH v4 19/19] fsck: support ignoring objects in `git fsck` via fsck.skiplist Johannes Schindelin
2015-02-02 11:41     ` [PATCH v4 00/19] Introduce an internal API to interact with the fsck machinery Johannes Schindelin
2015-02-02 12:43       ` Michael Haggerty
2015-02-02 16:48         ` Johannes Schindelin
2015-02-03 15:11           ` Michael Haggerty
2015-02-03 16:33             ` Johannes Schindelin
2015-02-04  3:50               ` Junio C Hamano
2015-02-04 11:02                 ` Johannes Schindelin
2015-06-18 20:07     ` [PATCH v5 " Johannes Schindelin
2015-06-18 20:07       ` [PATCH v5 01/19] fsck: Introduce fsck options Johannes Schindelin
2015-06-18 20:07       ` [PATCH v5 02/19] fsck: Introduce identifiers for fsck messages Johannes Schindelin
2015-06-18 20:07       ` [PATCH v5 03/19] fsck: Provide a function to parse fsck message IDs Johannes Schindelin
2015-06-18 20:08       ` [PATCH v5 04/19] fsck: Offer a function to demote fsck errors to warnings Johannes Schindelin
2015-06-18 20:08       ` [PATCH v5 05/19] fsck (receive-pack): Allow demoting " Johannes Schindelin
2015-06-18 20:08       ` [PATCH v5 06/19] fsck: Report the ID of the error/warning Johannes Schindelin
2015-06-18 20:08       ` [PATCH v5 07/19] fsck: Make fsck_ident() warn-friendly Johannes Schindelin
2015-06-18 20:08       ` [PATCH v5 08/19] fsck: Make fsck_commit() warn-friendly Johannes Schindelin
2015-06-18 20:08       ` [PATCH v5 09/19] fsck: Handle multiple authors in commits specially Johannes Schindelin
2015-06-18 20:08       ` [PATCH v5 11/19] fsck: Add a simple test for receive.fsck.<msg-id> Johannes Schindelin
2015-06-18 20:09       ` [PATCH v5 10/19] fsck: Make fsck_tag() warn-friendly Johannes Schindelin
2015-06-18 20:09       ` [PATCH v5 12/19] fsck: Disallow demoting grave fsck errors to warnings Johannes Schindelin
2015-06-18 20:09       ` [PATCH v5 13/19] fsck: Optionally ignore specific fsck issues completely Johannes Schindelin
2015-06-18 20:09       ` [PATCH v5 14/19] fsck: Allow upgrading fsck warnings to errors Johannes Schindelin
2015-06-18 20:09       ` [PATCH v5 15/19] fsck: Document the new receive.fsck.<msg-id> options Johannes Schindelin
2015-06-18 20:09       ` [PATCH v5 16/19] fsck: Support demoting errors to warnings Johannes Schindelin
2015-06-18 20:09       ` [PATCH v5 17/19] fsck: Introduce `git fsck --quick` Johannes Schindelin
2015-06-18 20:10       ` [PATCH v5 18/19] fsck: git receive-pack: support excluding objects from fsck'ing Johannes Schindelin
2015-06-18 20:10       ` [PATCH v5 19/19] fsck: support ignoring objects in `git fsck` via fsck.skiplist Johannes Schindelin
2015-06-18 22:11       ` [PATCH v5 00/19] Introduce an internal API to interact with the fsck machinery Junio C Hamano
2015-06-19  0:04         ` Johannes Schindelin
2015-06-19 17:33           ` Junio C Hamano
2015-06-19 19:43             ` Johannes Schindelin
2015-06-19 13:32       ` [PATCH v6 " Johannes Schindelin
2015-06-19 13:32         ` [PATCH v6 01/19] fsck: Introduce fsck options Johannes Schindelin
2015-06-19 19:03           ` Junio C Hamano
2015-06-20 12:33             ` Johannes Schindelin
2015-06-19 13:32         ` [PATCH v6 02/19] fsck: Introduce identifiers for fsck messages Johannes Schindelin
2015-06-19 19:06           ` Junio C Hamano
2015-06-19 13:32         ` [PATCH v6 03/19] fsck: Provide a function to parse fsck message IDs Johannes Schindelin
2015-06-19 19:13           ` Junio C Hamano
2015-06-21 13:46             ` Johannes Schindelin
2015-06-19 13:33         ` Johannes Schindelin [this message]
2015-06-19 19:26           ` [PATCH v6 04/19] fsck: Offer a function to demote fsck errors to warnings Junio C Hamano
2015-06-21 13:59             ` Johannes Schindelin
2015-06-21 17:36               ` Junio C Hamano
2015-06-21 18:23                 ` Johannes Schindelin
2015-06-21 18:47                   ` Junio C Hamano
2015-06-22 15:24             ` Johannes Schindelin
2015-06-19 13:33         ` [PATCH v6 05/19] fsck (receive-pack): Allow demoting " Johannes Schindelin
2015-06-19 13:33         ` [PATCH v6 06/19] fsck: Report the ID of the error/warning Johannes Schindelin
2015-06-19 19:28           ` Junio C Hamano
2015-06-19 21:34             ` Johannes Schindelin
2015-06-19 23:26               ` Junio C Hamano
2015-06-19 13:33         ` [PATCH v6 07/19] fsck: Make fsck_ident() warn-friendly Johannes Schindelin
2015-06-19 19:48           ` Junio C Hamano
2015-06-19 13:33         ` [PATCH v6 08/19] fsck: Make fsck_commit() warn-friendly Johannes Schindelin
2015-06-19 20:12           ` Junio C Hamano
2015-06-19 20:52             ` Johannes Schindelin
2015-06-19 21:01               ` Junio C Hamano
2015-06-19 23:43                 ` Junio C Hamano
2015-06-19 13:34         ` [PATCH v6 09/19] fsck: Handle multiple authors in commits specially Johannes Schindelin
2015-06-19 20:16           ` Junio C Hamano
2015-06-19 21:04             ` Johannes Schindelin
2015-06-19 13:34         ` [PATCH v6 10/19] fsck: Make fsck_tag() warn-friendly Johannes Schindelin
2015-06-19 20:18           ` Junio C Hamano
2015-06-19 21:06             ` Johannes Schindelin
2015-06-19 13:34         ` [PATCH v6 11/19] fsck: Add a simple test for receive.fsck.<msg-id> Johannes Schindelin
2015-06-19 13:34         ` [PATCH v6 12/19] fsck: Disallow demoting grave fsck errors to warnings Johannes Schindelin
2015-06-19 20:21           ` Junio C Hamano
2015-06-19 21:09             ` Johannes Schindelin
2015-06-19 23:30               ` Junio C Hamano
2015-06-19 13:34         ` [PATCH v6 13/19] fsck: Optionally ignore specific fsck issues completely Johannes Schindelin
2015-06-19 13:34         ` [PATCH v6 14/19] fsck: Allow upgrading fsck warnings to errors Johannes Schindelin
2015-06-19 20:22           ` Junio C Hamano
2015-06-19 21:10             ` Johannes Schindelin
2015-06-19 13:35         ` [PATCH v6 15/19] fsck: Document the new receive.fsck.<msg-id> options Johannes Schindelin
2015-06-19 13:35         ` [PATCH v6 16/19] fsck: Support demoting errors to warnings Johannes Schindelin
2015-06-19 13:35         ` [PATCH v6 17/19] fsck: Introduce `git fsck --quick` Johannes Schindelin
2015-06-19 20:32           ` Junio C Hamano
2015-06-19 20:42             ` Johannes Schindelin
2015-06-19 20:53               ` Junio C Hamano
2015-06-19 23:57                 ` Scott Schmit
2015-06-20  3:24                   ` Junio C Hamano
2015-06-21  4:55                 ` Michael Haggerty
2015-06-21  5:09                   ` Randall S. Becker
2015-06-21 14:40                     ` Johannes Schindelin
2015-06-21 12:01                   ` Johannes Schindelin
2015-06-21 17:15                   ` Junio C Hamano
2015-06-21 18:27                     ` Johannes Schindelin
2015-06-21 20:35                       ` Junio C Hamano
2015-06-21 20:46                         ` Junio C Hamano
2015-06-22 13:01                         ` Johannes Schindelin
2015-06-20  3:26               ` Junio C Hamano
2015-06-19 13:35         ` [PATCH v6 18/19] fsck: git receive-pack: support excluding objects from fsck'ing Johannes Schindelin
2015-06-19 20:39           ` Junio C Hamano
2015-06-20 12:45             ` Johannes Schindelin
2015-06-20 17:28               ` Junio C Hamano
2015-06-22  4:21           ` Junio C Hamano
2015-06-22  8:49             ` Johannes Schindelin
2015-06-19 13:35         ` [PATCH v6 19/19] fsck: support ignoring objects in `git fsck` via fsck.skiplist Johannes Schindelin
2015-06-19 20:40           ` Junio C Hamano
2015-06-22 15:24         ` [PATCH v7 00/19] Introduce an internal API to interact with the fsck machinery Johannes Schindelin
2015-06-22 15:25           ` [PATCH v7 01/19] fsck: Introduce fsck options Johannes Schindelin
2015-06-22 15:25           ` [PATCH v7 02/19] fsck: Introduce identifiers for fsck messages Johannes Schindelin
2015-06-22 15:25           ` [PATCH v7 03/19] fsck: Provide a function to parse fsck message IDs Johannes Schindelin
2015-06-22 15:25           ` [PATCH v7 04/19] fsck: Offer a function to demote fsck errors to warnings Johannes Schindelin
2015-06-22 17:37             ` Junio C Hamano
2015-06-22 21:00               ` Johannes Schindelin
2015-06-22 15:25           ` [PATCH v7 05/19] fsck (receive-pack): Allow demoting " Johannes Schindelin
2015-06-22 15:25           ` [PATCH v7 06/19] fsck: Report the ID of the error/warning Johannes Schindelin
2015-06-22 15:26           ` [PATCH v7 07/19] fsck: Make fsck_ident() warn-friendly Johannes Schindelin
2015-06-22 15:26           ` [PATCH v7 08/19] fsck: Make fsck_commit() warn-friendly Johannes Schindelin
2015-06-22 15:26           ` [PATCH v7 09/19] fsck: Handle multiple authors in commits specially Johannes Schindelin
2015-06-22 15:26           ` [PATCH v7 10/19] fsck: Make fsck_tag() warn-friendly Johannes Schindelin
2015-06-22 15:26           ` [PATCH v7 11/19] fsck: Add a simple test for receive.fsck.<msg-id> Johannes Schindelin
2015-06-22 15:26           ` [PATCH v7 12/19] fsck: Disallow demoting grave fsck errors to warnings Johannes Schindelin
2015-06-22 15:26           ` [PATCH v7 13/19] fsck: Optionally ignore specific fsck issues completely Johannes Schindelin
2015-06-22 18:04             ` Junio C Hamano
2015-06-22 21:11               ` Johannes Schindelin
2015-06-22 15:26           ` [PATCH v7 14/19] fsck: Allow upgrading fsck warnings to errors Johannes Schindelin
2015-06-22 15:27           ` [PATCH v7 15/19] fsck: Document the new receive.fsck.<msg-id> options Johannes Schindelin
2015-06-22 15:27           ` [PATCH v7 16/19] fsck: Support demoting errors to warnings Johannes Schindelin
2015-06-22 15:27           ` [PATCH v7 17/19] fsck: Introduce `git fsck --connectivity-only` Johannes Schindelin
2015-06-22 15:27           ` [PATCH v7 18/19] fsck: git receive-pack: support excluding objects from fsck'ing Johannes Schindelin
2015-06-22 15:27           ` [PATCH v7 19/19] fsck: support ignoring objects in `git fsck` via fsck.skiplist Johannes Schindelin
2015-06-22 18:02           ` [PATCH v7 00/19] Introduce an internal API to interact with the fsck machinery Junio C Hamano
2015-06-22 21:07             ` Johannes Schindelin

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=44acafb2cf0a98e5ad75e3da24ba0e7453e6118f.1434720655.git.johannes.schindelin@gmx.de \
    --to=johannes.schindelin@gmx.de \
    --cc=git@vger.kernel.org \
    --cc=gitster@pobox.com \
    --cc=mhagger@alum.mit.edu \
    --cc=peff@peff.net \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.