Re: [RFC PATCH] revert: Use assert to catch inherent program bugs
From: Junio C Hamano <hidden>
Date: 2016-06-15 22:51:17
Ramkumar Ramachandra [off-list ref] writes:
Instead of returning and error status or calling die, use an assert statement to guard against callers who don't call the functions with sane arguments.
Please do not do this. assert() is a mechanism to aid debugging in a development build, and can be stripped away in the production build.
quoted hunk
diff --git a/builtin/revert.c b/builtin/revert.c index f697e66..8102d77 100644 --- a/builtin/revert.c +++ b/builtin/revert.c@@ -123,8 +123,7 @@ static int get_message(const char *raw_message, struct commit_message *out) int abbrev_len, subject_len; char *q; - if (!raw_message) - return -1; + assert(raw_message); encoding = get_encoding(raw_message);
This change is wrong, as you could feed a NULL to get_encoding (and you
also broke that function in the later hunk).
If the calling convention of this internal function is that passing NULL
is a programming bug, please do something like this instead:
if (!raw_message)
die("BUG: get_message() called with NULL");