branch: use non-gentle write_file for branch description

We use write_file_gently() to do this job currently.
However, if we see an error, we simply complain via
error_errno() and then end up exiting with an error code.

By switching to the non-gentle form, the function will die
for us, with a better error. It is more specific about which
syscall caused the error, and that mentions the
actual filename we're trying to write.

Our exit code for the error case does switch from "1" to
"128", but that's OK; it wasn't a meaningful documented code
(and in fact it was odd that it was a different exit code
than most other error conditions).

Signed-off-by: Jeff King <peff@peff.net>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
This commit is contained in:
Jeff King 2016-07-08 05:08:54 -04:00 committed by Junio C Hamano
parent 1dad879a7b
commit 3d75bba28d

View file

@ -618,10 +618,7 @@ static int edit_branch_description(const char *branch_name)
" %s\n" " %s\n"
"Lines starting with '%c' will be stripped.\n", "Lines starting with '%c' will be stripped.\n",
branch_name, comment_line_char); branch_name, comment_line_char);
if (write_file_gently(git_path(edit_description), "%s", buf.buf)) { write_file(git_path(edit_description), "%s", buf.buf);
strbuf_release(&buf);
return error_errno(_("could not write branch description template"));
}
strbuf_reset(&buf); strbuf_reset(&buf);
if (launch_editor(git_path(edit_description), &buf, NULL)) { if (launch_editor(git_path(edit_description), &buf, NULL)) {
strbuf_release(&buf); strbuf_release(&buf);