summaryrefslogtreecommitdiff
path: root/src/refs.h
diff options
context:
space:
mode:
Diffstat (limited to 'src/refs.h')
-rw-r--r--src/refs.h13
1 files changed, 9 insertions, 4 deletions
diff --git a/src/refs.h b/src/refs.h
index c4b0b0e39..c90f5bcc4 100644
--- a/src/refs.h
+++ b/src/refs.h
@@ -16,12 +16,15 @@
#define GIT_REFS_HEADS_DIR GIT_REFS_DIR "heads/"
#define GIT_REFS_TAGS_DIR GIT_REFS_DIR "tags/"
#define GIT_REFS_REMOTES_DIR GIT_REFS_DIR "remotes/"
+#define GIT_REFS_DIR_MODE 0777
+#define GIT_REFS_FILE_MODE 0666
#define GIT_RENAMED_REF_FILE GIT_REFS_DIR "RENAMED-REF"
#define GIT_SYMREF "ref: "
#define GIT_PACKEDREFS_FILE "packed-refs"
#define GIT_PACKEDREFS_HEADER "# pack-refs with: peeled "
+#define GIT_PACKEDREFS_FILE_MODE 0666
#define GIT_HEAD_FILE "HEAD"
#define GIT_FETCH_HEAD_FILE "FETCH_HEAD"
@@ -31,21 +34,23 @@
#define GIT_REFNAME_MAX 1024
struct git_reference {
+ unsigned int flags;
git_repository *owner;
char *name;
- unsigned int type;
time_t mtime;
+
+ union {
+ git_oid oid;
+ char *symbolic;
+ } target;
};
typedef struct {
git_hashtable *packfile;
- git_hashtable *loose_cache;
time_t packfile_time;
} git_refcache;
-
void git_repository__refcache_free(git_refcache *refs);
-int git_repository__refcache_init(git_refcache *refs);
int git_reference__normalize_name(char *buffer_out, size_t out_size, const char *name);
int git_reference__normalize_name_oid(char *buffer_out, size_t out_size, const char *name);