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 <dturner@twopensource.com> Signed-off-by: Junio C Hamano <gitster@pobox.com> Signed-off-by: Michael Haggerty <mhagger@alum.mit.edu> Signed-off-by: Jeff King <peff@peff.net>
David Turner committed
Nov 10, 2015 at 12:42 UTC
5f3c3a4e6f11dedad93d9f5bb2caa85c684db54a
2 files changed
+12
refs/files-backend.c
+8
@@ -2733,6 +2733,14 @@ static int log_ref_write_1(const char *refname, const unsigned char *old_sha1,
2733
static int log_ref_write(const char *refname, const unsigned char *old_sha1,
2734
const unsigned char *new_sha1, const char *msg,
2735
int flags, struct strbuf *err)
2736
+{
2737
+ return files_log_ref_write(refname, old_sha1, new_sha1, msg, flags,
2738
+ err);
2739
+}
2740
+
2741
+int files_log_ref_write(const char *refname, const unsigned char *old_sha1,
2742
+ const unsigned char *new_sha1, const char *msg,
2743
+ int flags, struct strbuf *err)
2744
{
2745
struct strbuf sb = STRBUF_INIT;
2746
int ret = log_ref_write_1(refname, old_sha1, new_sha1, msg, &sb, flags,
refs/refs-internal.h
+4
@@ -177,4 +177,8 @@ struct ref_transaction {
177
enum ref_transaction_state state;
178
};
179
180
+int files_log_ref_write(const char *refname, const unsigned char *old_sha1,
181
+ const unsigned char *new_sha1, const char *msg,
182
+ int flags, struct strbuf *err);
183
+
184
#endif /* REFS_REFS_INTERNAL_H */