aboutsummaryrefslogtreecommitdiffstats
path: root/sequencer.c
diff options
context:
space:
mode:
authorJunio C Hamano <gitster@pobox.com>2023-04-04 14:28:28 -0700
committerJunio C Hamano <gitster@pobox.com>2023-04-04 14:28:29 -0700
commit054ae834a84898bf53d1a6743a7fcbbc8a8031eb (patch)
tree649097414227a3d76c90bd29d27ce30b381eeb59 /sequencer.c
parent0ee87cde28e5cd5c06fdb70e4a7dde364ee71a68 (diff)
parent54dbd0933ba9e35a97562bd4224842c3a0362742 (diff)
downloadgit-054ae834a84898bf53d1a6743a7fcbbc8a8031eb.tar.gz
Merge branch 'ob/sequencer-save-head-simplify'
Code clean-up. * ob/sequencer-save-head-simplify: sequencer: rewrite save_head() in terms of write_message()
Diffstat (limited to 'sequencer.c')
-rw-r--r--sequencer.c20
1 files changed, 1 insertions, 19 deletions
diff --git a/sequencer.c b/sequencer.c
index 2da9b9f890..ca7c228c9f 100644
--- a/sequencer.c
+++ b/sequencer.c
@@ -3187,25 +3187,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)