summaryrefslogtreecommitdiff
path: root/include/git2/sys/refdb_backend.h
diff options
context:
space:
mode:
Diffstat (limited to 'include/git2/sys/refdb_backend.h')
-rw-r--r--include/git2/sys/refdb_backend.h17
1 files changed, 15 insertions, 2 deletions
diff --git a/include/git2/sys/refdb_backend.h b/include/git2/sys/refdb_backend.h
index 9cf5073fb..5bbd4ba4c 100644
--- a/include/git2/sys/refdb_backend.h
+++ b/include/git2/sys/refdb_backend.h
@@ -93,11 +93,13 @@ struct git_refdb_backend {
* must provide this function.
*/
int (*write)(git_refdb_backend *backend,
- const git_reference *ref, int force);
+ const git_reference *ref, int force,
+ const git_signature *who, const char *message);
int (*rename)(
git_reference **out, git_refdb_backend *backend,
- const char *old_name, const char *new_name, int force);
+ const char *old_name, const char *new_name, int force,
+ const git_signature *who, const char *message);
/**
* Deletes the given reference from the refdb. A refdb implementation
@@ -115,6 +117,17 @@ struct git_refdb_backend {
int (*compress)(git_refdb_backend *backend);
/**
+ * Query whether a particular reference has a log (may be empty)
+ */
+ int (*has_log)(git_refdb_backend *backend, const char *refname);
+
+ /**
+ * Make sure a particular reference will have a reflog which
+ * will be appended to on writes.
+ */
+ int (*ensure_log)(git_refdb_backend *backend, const char *refname);
+
+ /**
* Frees any resources held by the refdb. A refdb implementation may
* provide this function; if it is not provided, nothing will be done.
*/