diff options
author | Vicent Martà <tanoku@gmail.com> | 2012-05-05 14:22:06 -0700 |
---|---|---|
committer | Vicent Martà <tanoku@gmail.com> | 2012-05-05 14:22:06 -0700 |
commit | 4ef14af93517b3842bc0dfa24147cf10dd029582 (patch) | |
tree | 88f90fa8c9d903f072a2b1c647c51a9899e520c7 /src/attr.h | |
parent | f95e8cc07c85034f737872455fce2895186be19d (diff) | |
parent | 282283acc65bab9de231a2b3dc489eb171d5f1cf (diff) | |
download | libgit2-development-merge.tar.gz |
Merge pull request #664 from arrbee/attrs-from-indexdevelopment-merge
Support git attrs from index (and bare repo)
Diffstat (limited to 'src/attr.h')
-rw-r--r-- | src/attr.h | 26 |
1 files changed, 16 insertions, 10 deletions
diff --git a/src/attr.h b/src/attr.h index 43caf1b81..a35b1160f 100644 --- a/src/attr.h +++ b/src/attr.h @@ -22,6 +22,9 @@ typedef struct { const char *cfg_excl_file; /* cached value of core.excludesfile */ } git_attr_cache; +typedef int (*git_attr_file_parser)( + git_repository *, const char *, git_attr_file *); + extern int git_attr_cache__init(git_repository *repo); extern int git_attr_cache__insert_macro( @@ -30,21 +33,24 @@ extern int git_attr_cache__insert_macro( extern git_attr_rule *git_attr_cache__lookup_macro( git_repository *repo, const char *name); -extern int git_attr_cache__lookup_or_create_file( +extern int git_attr_cache__push_file( git_repository *repo, - const char *key, + const char *base, const char *filename, - int (*loader)(git_repository *, const char *, git_attr_file *), - git_attr_file **file_ptr); + git_attr_file_source source, + git_attr_file_parser parse, + git_vector *stack); -extern int git_attr_cache__push_file( +extern int git_attr_cache__internal_file( git_repository *repo, - git_vector *stack, - const char *base, - const char *filename, - int (*loader)(git_repository *, const char *, git_attr_file *)); + const char *key, + git_attr_file **file_ptr); /* returns true if path is in cache */ -extern bool git_attr_cache__is_cached(git_repository *repo, const char *path); +extern bool git_attr_cache__is_cached( + git_repository *repo, git_attr_file_source source, const char *path); + +extern int git_attr_cache__decide_sources( + uint32_t flags, bool has_wd, bool has_index, git_attr_file_source *srcs); #endif |