diff options
Diffstat (limited to 'include/git2')
| -rw-r--r-- | include/git2/refs.h | 12 | ||||
| -rw-r--r-- | include/git2/sys/refdb_backend.h | 6 |
2 files changed, 18 insertions, 0 deletions
diff --git a/include/git2/refs.h b/include/git2/refs.h index 2dc137692..31bf997fe 100644 --- a/include/git2/refs.h +++ b/include/git2/refs.h @@ -556,6 +556,18 @@ GIT_EXTERN(int) git_reference_foreach_glob( GIT_EXTERN(int) git_reference_has_log(git_reference *ref); /** + * Ensure there is a reflog for a particular reference. + * + * Make sure that successive updates to the reference will append to + * its log. + * + * @param repo the repository + * @param refname the reference's name + * @return 0 or an error code. + */ +GIT_EXTERN(int) git_reference_ensure_log(git_repository *repo, const char *refname); + +/** * Check if a reference is a local branch. * * @param ref A git reference diff --git a/include/git2/sys/refdb_backend.h b/include/git2/sys/refdb_backend.h index 131e1b5d0..1485ed73a 100644 --- a/include/git2/sys/refdb_backend.h +++ b/include/git2/sys/refdb_backend.h @@ -117,6 +117,12 @@ struct git_refdb_backend { int (*compress)(git_refdb_backend *backend); /** + * 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. */ |
