summaryrefslogtreecommitdiff
path: root/src/libgit2/reflog.h
diff options
context:
space:
mode:
Diffstat (limited to 'src/libgit2/reflog.h')
-rw-r--r--src/libgit2/reflog.h41
1 files changed, 41 insertions, 0 deletions
diff --git a/src/libgit2/reflog.h b/src/libgit2/reflog.h
new file mode 100644
index 000000000..8c3895952
--- /dev/null
+++ b/src/libgit2/reflog.h
@@ -0,0 +1,41 @@
+/*
+ * Copyright (C) the libgit2 contributors. All rights reserved.
+ *
+ * This file is part of libgit2, distributed under the GNU GPL v2 with
+ * a Linking Exception. For full terms see the included COPYING file.
+ */
+#ifndef INCLUDE_reflog_h__
+#define INCLUDE_reflog_h__
+
+#include "common.h"
+
+#include "git2/reflog.h"
+#include "vector.h"
+
+#define GIT_REFLOG_DIR "logs/"
+#define GIT_REFLOG_DIR_MODE 0777
+#define GIT_REFLOG_FILE_MODE 0666
+
+#define GIT_REFLOG_SIZE_MIN (2*GIT_OID_HEXSZ+2+17)
+
+struct git_reflog_entry {
+ git_oid oid_old;
+ git_oid oid_cur;
+
+ git_signature *committer;
+
+ char *msg;
+};
+
+struct git_reflog {
+ git_refdb *db;
+ char *ref_name;
+ git_vector entries;
+};
+
+GIT_INLINE(size_t) reflog_inverse_index(size_t idx, size_t total)
+{
+ return (total - 1) - idx;
+}
+
+#endif