files_log_ref_write: new function
authorDavid Turner <dturner@twopensource.com>
Tue, 10 Nov 2015 11:42:39 +0000 (12:42 +0100)
committerJeff King <peff@peff.net>
Fri, 20 Nov 2015 09:52:01 +0000 (04:52 -0500)
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>
refs/files-backend.c
refs/refs-internal.h
index 14ec506c1783f0821f751a4ebda8e0b03c2b7362..aaf263956c97463915860b3fcdbd2ff7b110b6db 100644 (file)
@@ -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,
index 9077c114d00d8056e8aa8fd7e01b9c020f5f8627..7b6c8bcb7487574300273aabde328856ea30ff93 100644 (file)
@@ -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 */