]>
Commit | Line | Data |
---|---|---|
bb742ede VM |
1 | /* |
2 | * Copyright (C) 2009-2011 the libgit2 contributors | |
3 | * | |
4 | * This file is part of libgit2, distributed under the GNU GPL v2 with | |
5 | * a Linking Exception. For full terms see the included COPYING file. | |
6 | */ | |
3315782c VM |
7 | #ifndef INCLUDE_repository_h__ |
8 | #define INCLUDE_repository_h__ | |
9 | ||
44908fe7 VM |
10 | #include "git2/common.h" |
11 | #include "git2/oid.h" | |
12 | #include "git2/odb.h" | |
13 | #include "git2/repository.h" | |
f335b42c | 14 | #include "git2/object.h" |
3315782c VM |
15 | |
16 | #include "hashtable.h" | |
6fd195d7 | 17 | #include "index.h" |
72a3fe42 | 18 | #include "cache.h" |
9282e921 | 19 | #include "refs.h" |
afeecf4f | 20 | #include "buffer.h" |
ce8cd006 | 21 | #include "odb.h" |
3315782c | 22 | |
d2d6912e | 23 | #define DOT_GIT ".git" |
24 | #define GIT_DIR DOT_GIT "/" | |
ce8cd006 BR |
25 | #define GIT_DIR_MODE 0755 |
26 | #define GIT_BARE_DIR_MODE 0777 | |
d2d6912e | 27 | #define GIT_INDEX_FILE "index" |
28 | ||
f49a2e49 | 29 | struct git_object { |
72a3fe42 | 30 | git_cached_obj cached; |
3315782c | 31 | git_repository *repo; |
72a3fe42 | 32 | git_otype type; |
3315782c VM |
33 | }; |
34 | ||
35 | struct git_repository { | |
36 | git_odb *db; | |
48c27f86 | 37 | |
72a3fe42 | 38 | git_cache objects; |
2f8a8ab2 | 39 | git_refcache references; |
6fd195d7 VM |
40 | |
41 | char *path_repository; | |
42 | char *path_index; | |
43 | char *path_odb; | |
44 | char *path_workdir; | |
45 | ||
6b2a1941 VM |
46 | unsigned is_bare:1; |
47 | unsigned int lru_counter; | |
3315782c VM |
48 | }; |
49 | ||
48c27f86 VM |
50 | /* fully free the object; internal method, do not |
51 | * export */ | |
72a3fe42 | 52 | void git_object__free(void *object); |
e802d8cc | 53 | |
06c43821 | 54 | int git_oid__parse(git_oid *oid, const char **buffer_out, const char *buffer_end, const char *header); |
afeecf4f | 55 | void git_oid__writebuf(git_buf *buf, const char *header, const git_oid *oid); |
58519018 | 56 | |
3315782c | 57 | #endif |