From 5f3c3a4e6f11dedad93d9f5bb2caa85c684db54a Mon Sep 17 00:00:00 2001 From: David Turner Date: Tue, 10 Nov 2015 12:42:39 +0100 Subject: [PATCH] files_log_ref_write: new function Because HEAD and stash are per-worktree, every refs backend needs to go through the files backend to write these refs. So create a new function, files_log_ref_write, and add it to refs/refs-internal.h. Later, we will use this to handle reflog updates for per-worktree symbolic refs (HEAD). Signed-off-by: David Turner Signed-off-by: Junio C Hamano Signed-off-by: Michael Haggerty Signed-off-by: Jeff King --- refs/files-backend.c | 8 ++++++++ refs/refs-internal.h | 4 ++++ 2 files changed, 12 insertions(+) diff --git a/refs/files-backend.c b/refs/files-backend.c index 14ec506c17..aaf263956c 100644 --- a/refs/files-backend.c +++ b/refs/files-backend.c @@ -2733,6 +2733,14 @@ static int log_ref_write_1(const char *refname, const unsigned char *old_sha1, static int log_ref_write(const char *refname, const unsigned char *old_sha1, const unsigned char *new_sha1, const char *msg, int flags, struct strbuf *err) +{ + return files_log_ref_write(refname, old_sha1, new_sha1, msg, flags, + err); +} + +int files_log_ref_write(const char *refname, const unsigned char *old_sha1, + const unsigned char *new_sha1, const char *msg, + int flags, struct strbuf *err) { struct strbuf sb = STRBUF_INIT; int ret = log_ref_write_1(refname, old_sha1, new_sha1, msg, &sb, flags, diff --git a/refs/refs-internal.h b/refs/refs-internal.h index 9077c114d0..7b6c8bcb74 100644 --- a/refs/refs-internal.h +++ b/refs/refs-internal.h @@ -177,4 +177,8 @@ struct ref_transaction { enum ref_transaction_state state; }; +int files_log_ref_write(const char *refname, const unsigned char *old_sha1, + const unsigned char *new_sha1, const char *msg, + int flags, struct strbuf *err); + #endif /* REFS_REFS_INTERNAL_H */ -- 2.43.2