]> git.proxmox.com Git - libgit2.git/blame - src/refs.h
pkt-line: parse other-ref lines
[libgit2.git] / src / refs.h
CommitLineData
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 24struct 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 31typedef 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
38void git_repository__refcache_free(git_refcache *refs);
39int git_repository__refcache_init(git_refcache *refs);
86194b24 40
3101a3e5
VM
41int git_reference__normalize_name(char *buffer_out, size_t out_size, const char *name);
42int git_reference__normalize_name_oid(char *buffer_out, size_t out_size, const char *name);
9282e921 43
2f8a8ab2 44#endif