Re: [PATCH 12/18] Disallow demoting grave fsck errors to warnings

2014-12-22 Thread Johannes Schindelin
Hi Junio,

On Wed, 10 Dec 2014, Junio C Hamano wrote:

 Johannes Schindelin johannes.schinde...@gmx.de writes:
 
  Some kinds of errors are intrinsically unrecoverable (e.g. errors while
  uncompressing objects). It does not make sense to allow demoting them to
  mere warnings.
 
 Makes sense, but the patch makes it look as if this is an oops, we
 should have done the list in patch 02/18 in this order from the
 beginning.  Can we reorder the patches?

I considered this already, but it would more be like a squash than a
reordering. And when I squashed the patches, the story did not read as
clearly to me as it does now. However, if you think this argument is too
weak, I will squash them.

Is it too weak?

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


Re: [PATCH 12/18] Disallow demoting grave fsck errors to warnings

2014-12-10 Thread Junio C Hamano
Johannes Schindelin johannes.schinde...@gmx.de writes:

 Some kinds of errors are intrinsically unrecoverable (e.g. errors while
 uncompressing objects). It does not make sense to allow demoting them to
 mere warnings.

Makes sense, but the patch makes it look as if this is an oops, we
should have done the list in patch 02/18 in this order from the
beginning.  Can we reorder the patches?


 Signed-off-by: Johannes Schindelin johannes.schinde...@gmx.de
 ---
  fsck.c  | 8 ++--
  t/t5504-fetch-receive-strict.sh | 9 +
  2 files changed, 15 insertions(+), 2 deletions(-)

 diff --git a/fsck.c b/fsck.c
 index c1e7a85..f8339af 100644
 --- a/fsck.c
 +++ b/fsck.c
 @@ -9,6 +9,9 @@
  #include refs.h
  
  #define FOREACH_MSG_ID(FUNC) \
 + /* fatal errors */ \
 + FUNC(NUL_IN_HEADER) \
 + FUNC(UNTERMINATED_HEADER) \
   /* errors */ \
   FUNC(BAD_DATE) \
   FUNC(BAD_EMAIL) \
 @@ -39,10 +42,8 @@
   FUNC(MISSING_TYPE_ENTRY) \
   FUNC(MULTIPLE_AUTHORS) \
   FUNC(NOT_SORTED) \
 - FUNC(NUL_IN_HEADER) \
   FUNC(TAG_OBJECT_NOT_TAG) \
   FUNC(UNKNOWN_TYPE) \
 - FUNC(UNTERMINATED_HEADER) \
   FUNC(ZERO_PADDED_DATE) \
   /* warnings */ \
   FUNC(BAD_FILEMODE) \
 @@ -56,6 +57,7 @@
   FUNC(NULL_SHA1) \
   FUNC(ZERO_PADDED_FILEMODE)
  
 +#define FIRST_NON_FATAL_ERROR FSCK_MSG_BAD_DATE
  #define FIRST_WARNING FSCK_MSG_BAD_FILEMODE
  
  #define MSG_ID(x) FSCK_MSG_##x,
 @@ -150,6 +152,8 @@ void fsck_strict_mode(struct fsck_options *options, const 
 char *mode)
   }
  
   msg_id = parse_msg_id(mode, equal);
 + if (type != FSCK_ERROR  msg_id  FIRST_NON_FATAL_ERROR)
 + die(Cannot demote %.*s, len, mode);
   options-strict_mode[msg_id] = type;
   mode += len;
   }
 diff --git a/t/t5504-fetch-receive-strict.sh b/t/t5504-fetch-receive-strict.sh
 index db79e56..8a47db2 100755
 --- a/t/t5504-fetch-receive-strict.sh
 +++ b/t/t5504-fetch-receive-strict.sh
 @@ -135,4 +135,13 @@ test_expect_success 'push with receive.fsck.missing-mail 
 = warn' '
   grep missing-email act
  '
  
 +test_expect_success 'receive.fsck.unterminated-header = warn triggers error' 
 '
 + rm -rf dst 
 + git init dst 
 + git --git-dir=dst/.git config receive.fsckobjects true 
 + git --git-dir=dst/.git config receive.fsck.unterminated-header warn 
 + test_must_fail git push --porcelain dst HEAD act 21 
 + grep Cannot demote unterminated-header=warn act
 +'
 +
  test_done
--
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


[PATCH 12/18] Disallow demoting grave fsck errors to warnings

2014-12-08 Thread Johannes Schindelin
Some kinds of errors are intrinsically unrecoverable (e.g. errors while
uncompressing objects). It does not make sense to allow demoting them to
mere warnings.

Signed-off-by: Johannes Schindelin johannes.schinde...@gmx.de
---
 fsck.c  | 8 ++--
 t/t5504-fetch-receive-strict.sh | 9 +
 2 files changed, 15 insertions(+), 2 deletions(-)

diff --git a/fsck.c b/fsck.c
index c1e7a85..f8339af 100644
--- a/fsck.c
+++ b/fsck.c
@@ -9,6 +9,9 @@
 #include refs.h
 
 #define FOREACH_MSG_ID(FUNC) \
+   /* fatal errors */ \
+   FUNC(NUL_IN_HEADER) \
+   FUNC(UNTERMINATED_HEADER) \
/* errors */ \
FUNC(BAD_DATE) \
FUNC(BAD_EMAIL) \
@@ -39,10 +42,8 @@
FUNC(MISSING_TYPE_ENTRY) \
FUNC(MULTIPLE_AUTHORS) \
FUNC(NOT_SORTED) \
-   FUNC(NUL_IN_HEADER) \
FUNC(TAG_OBJECT_NOT_TAG) \
FUNC(UNKNOWN_TYPE) \
-   FUNC(UNTERMINATED_HEADER) \
FUNC(ZERO_PADDED_DATE) \
/* warnings */ \
FUNC(BAD_FILEMODE) \
@@ -56,6 +57,7 @@
FUNC(NULL_SHA1) \
FUNC(ZERO_PADDED_FILEMODE)
 
+#define FIRST_NON_FATAL_ERROR FSCK_MSG_BAD_DATE
 #define FIRST_WARNING FSCK_MSG_BAD_FILEMODE
 
 #define MSG_ID(x) FSCK_MSG_##x,
@@ -150,6 +152,8 @@ void fsck_strict_mode(struct fsck_options *options, const 
char *mode)
}
 
msg_id = parse_msg_id(mode, equal);
+   if (type != FSCK_ERROR  msg_id  FIRST_NON_FATAL_ERROR)
+   die(Cannot demote %.*s, len, mode);
options-strict_mode[msg_id] = type;
mode += len;
}
diff --git a/t/t5504-fetch-receive-strict.sh b/t/t5504-fetch-receive-strict.sh
index db79e56..8a47db2 100755
--- a/t/t5504-fetch-receive-strict.sh
+++ b/t/t5504-fetch-receive-strict.sh
@@ -135,4 +135,13 @@ test_expect_success 'push with receive.fsck.missing-mail = 
warn' '
grep missing-email act
 '
 
+test_expect_success 'receive.fsck.unterminated-header = warn triggers error' '
+   rm -rf dst 
+   git init dst 
+   git --git-dir=dst/.git config receive.fsckobjects true 
+   git --git-dir=dst/.git config receive.fsck.unterminated-header warn 
+   test_must_fail git push --porcelain dst HEAD act 21 
+   grep Cannot demote unterminated-header=warn act
+'
+
 test_done
-- 
2.0.0.rc3.9669.g840d1f9

--
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