]>
Commit | Line | Data |
---|---|---|
9282e921 | 1 | #ifndef INCLUDE_refs_h__ |
2 | #define INCLUDE_refs_h__ | |
3 | ||
4 | #include "common.h" | |
5 | #include "git2/oid.h" | |
c836c332 | 6 | #include "git2/refs.h" |
9282e921 | 7 | #include "hashtable.h" |
8 | ||
9 | #define GIT_REFS_DIR "refs/" | |
10 | #define GIT_REFS_HEADS_DIR GIT_REFS_DIR "heads/" | |
11 | #define GIT_REFS_TAGS_DIR GIT_REFS_DIR "tags/" | |
aa2120e9 | 12 | #define GIT_REFS_REMOTES_DIR GIT_REFS_DIR "remotes/" |
9282e921 | 13 | |
2f8a8ab2 | 14 | #define GIT_SYMREF "ref: " |
9282e921 | 15 | #define GIT_PACKEDREFS_FILE "packed-refs" |
ddc9e79a | 16 | #define GIT_PACKEDREFS_HEADER "# pack-refs with: peeled " |
9282e921 | 17 | |
d2d6912e | 18 | #define GIT_HEAD_FILE "HEAD" |
df30eac1 | 19 | #define GIT_MERGE_HEAD_FILE "MERGE_HEAD" |
d2d6912e | 20 | #define GIT_REFS_HEADS_MASTER_FILE GIT_REFS_HEADS_DIR "master" |
21 | ||
3101a3e5 VM |
22 | #define GIT_REFNAME_MAX 1024 |
23 | ||
9282e921 | 24 | struct git_reference { |
2f8a8ab2 | 25 | git_repository *owner; |
9282e921 | 26 | char *name; |
86194b24 | 27 | unsigned int type; |
7341bf87 | 28 | time_t mtime; |
9282e921 | 29 | }; |
30 | ||
2f8a8ab2 | 31 | typedef struct { |
87d3acf4 VM |
32 | git_hashtable *packfile; |
33 | git_hashtable *loose_cache; | |
7341bf87 | 34 | time_t packfile_time; |
2f8a8ab2 VM |
35 | } git_refcache; |
36 | ||
9282e921 | 37 | |
2f8a8ab2 VM |
38 | void git_repository__refcache_free(git_refcache *refs); |
39 | int git_repository__refcache_init(git_refcache *refs); | |
86194b24 | 40 | |
3101a3e5 VM |
41 | int git_reference__normalize_name(char *buffer_out, size_t out_size, const char *name); |
42 | int git_reference__normalize_name_oid(char *buffer_out, size_t out_size, const char *name); | |
9282e921 | 43 | |
2f8a8ab2 | 44 | #endif |