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:

committed by
Junio C Hamano

parent
73876f4861
commit
54dbd0933b
20
sequencer.c
20
sequencer.c
@ -3184,25 +3184,7 @@ static int create_seq_dir(struct repository *r)
|
|||||||
|
|
||||||
static int save_head(const char *head)
|
static int save_head(const char *head)
|
||||||
{
|
{
|
||||||
struct lock_file head_lock = LOCK_INIT;
|
return write_message(head, strlen(head), git_path_head_file(), 1);
|
||||||
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;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
static int rollback_is_safe(void)
|
static int rollback_is_safe(void)
|
||||||
|
Reference in New Issue
Block a user