mirror of
https://github.com/git/git.git
synced 2024-11-30 21:44:02 +08:00
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:
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)
|
||||
{
|
||||
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)
|
||||
|
Loading…
Reference in New Issue
Block a user