From: Shawn O. Pearce Date: Wed, 7 Mar 2007 17:04:24 +0000 (-0500) Subject: Catch write_ref_sha1 failure in receive-pack X-Git-Tag: v1.5.0.4~15 X-Git-Url: http://git.tremily.us/?a=commitdiff_plain;h=ef203f08564c1c6d267fedf8e0357c56d477892f;p=git.git Catch write_ref_sha1 failure in receive-pack This failure to catch the failure of write_ref_sha1 was noticed by Bill Lear. The ref will not update if the log file could not be appended to (due to file permissions problems). Such a failure should be flagged as a failure to update the ref, so that the client knows the push did not succeed. Signed-off-by: Shawn O. Pearce Signed-off-by: Junio C Hamano --- diff --git a/receive-pack.c b/receive-pack.c index 7311c822d..ea6872e46 100644 --- a/receive-pack.c +++ b/receive-pack.c @@ -158,7 +158,10 @@ static int update(struct command *cmd) cmd->error_string = "failed to lock"; return error("failed to lock %s", name); } - write_ref_sha1(lock, new_sha1, "push"); + if (write_ref_sha1(lock, new_sha1, "push")) { + cmd->error_string = "failed to write"; + return -1; /* error() already called */ + } fprintf(stderr, "%s: %s -> %s\n", name, old_hex, new_hex); } return 0;