sequencer: rewrite save_head() in terms of write_message()

Saves some code duplication.

Signed-off-by: Oswald Buddenhagen <oswald.buddenhagen@gmx.de>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
This commit is contained in:
Oswald Buddenhagen 2023-03-23 17:22:35 +01:00 committed by Junio C Hamano
parent 73876f4861
commit 54dbd0933b

View File

@ -3184,25 +3184,7 @@ static int create_seq_dir(struct repository *r)
static int save_head(const char *head)
{
struct lock_file head_lock = LOCK_INIT;
struct strbuf buf = STRBUF_INIT;
int fd;
ssize_t written;
fd = hold_lock_file_for_update(&head_lock, git_path_head_file(), 0);
if (fd < 0)
return error_errno(_("could not lock HEAD"));
strbuf_addf(&buf, "%s\n", head);
written = write_in_full(fd, buf.buf, buf.len);
strbuf_release(&buf);
if (written < 0) {
error_errno(_("could not write to '%s'"), git_path_head_file());
rollback_lock_file(&head_lock);
return -1;
}
if (commit_lock_file(&head_lock) < 0)
return error(_("failed to finalize '%s'"), git_path_head_file());
return 0;
return write_message(head, strlen(head), git_path_head_file(), 1);
}
static int rollback_is_safe(void)