Re: [PATCH] pretend_sha1_file(): Change return type from int to void
- From
Junio C Hamano <gitster@pobox.com>
- Date
- Oct 7, 2015, 21:22 UTC
- Message-ID
- <xmqqa8rutlu4.fsf@gitster.mtv.corp.google.com>
- In-Reply-To
- <ef5b20ed42ea20b2891fc3998a81f339@dscho.org>
Johannes Schindelin <johannes.schindelin@gmx.de> writes:
Show 7 quoted lines
> As to the patch, I cannot speak for Junio, of course, but my > preference would be to keep the return type. Traditionally, functions > that can fail either die() or return an int; non-zero indicates an > error. In this case, it seems that we do not have any condition > (yet...) under which an error could occur. It does not seem very > unlikely that we may eventually have such conditions, though, hence my > preference.
Perhaps the attached is a better approach.
Even though the current implementation of "pretend" implementation does not, future generations are allowed to make pretend_sha1_file() return failure when appropriate.
builtin/blame.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-)
diff --git a/builtin/blame.c b/builtin/blame.c index 203a981..fa24f8f 100644 --- a/builtin/blame.c +++ b/builtin/blame.c @@ -2362,7 +2362,8 @@ static struct commit *fake_working_tree_commit(struct diff_options *opt, convert_to_git(path, buf.buf, buf.len, &buf, 0); origin->file.ptr = buf.buf; origin->file.size = buf.len; - pretend_sha1_file(buf.buf, buf.len, OBJ_BLOB, origin->blob_sha1); + if (pretend_sha1_file(buf.buf, buf.len, OBJ_BLOB, origin->blob_sha1)) + die("failed to create a fake commit for the working tree version."); /* * Read the current index, replace the path entry with