summaryrefslogtreecommitdiff
path: root/refs
diff options
context:
space:
mode:
authorDavid Turner <dturner@twopensource.com>2015-11-10 11:42:39 (GMT)
committerJeff King <peff@peff.net>2015-11-20 09:52:01 (GMT)
commit5f3c3a4e6f11dedad93d9f5bb2caa85c684db54a (patch)
treee83ce9f7866a76a2aba084b794635bf37641df85 /refs
parenteb33876c262bec79a127b82a3a853ad00665d894 (diff)
downloadgit-5f3c3a4e6f11dedad93d9f5bb2caa85c684db54a.zip
git-5f3c3a4e6f11dedad93d9f5bb2caa85c684db54a.tar.gz
git-5f3c3a4e6f11dedad93d9f5bb2caa85c684db54a.tar.bz2
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>
Diffstat (limited to 'refs')
-rw-r--r--refs/files-backend.c8
-rw-r--r--refs/refs-internal.h4
2 files changed, 12 insertions, 0 deletions
diff --git a/refs/files-backend.c b/refs/files-backend.c
index 14ec506..aaf2639 100644
--- a/refs/files-backend.c
+++ b/refs/files-backend.c
@@ -2734,6 +2734,14 @@ 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,
err);
diff --git a/refs/refs-internal.h b/refs/refs-internal.h
index 9077c11..7b6c8bc 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 */