diff options
| author | Russell Belfer <arrbee@arrbee.com> | 2012-01-09 15:37:19 -0800 |
|---|---|---|
| committer | Russell Belfer <arrbee@arrbee.com> | 2012-01-11 14:39:51 -0800 |
| commit | df743c7d3a04553ffc04ae7cbc64fb300e7f61d2 (patch) | |
| tree | 7f0dfa714ddb292448cbeaa69f2b5d90a3274d85 /src/attr.h | |
| parent | 7e443f696068cd8c84a759e532c2845348e5a6ad (diff) | |
| download | libgit2-df743c7d3a04553ffc04ae7cbc64fb300e7f61d2.tar.gz | |
Initial implementation of gitignore support
Adds support for .gitignore files to git_status_foreach() and
git_status_file(). This includes refactoring the gitattributes
code to share logic where possible. The GIT_STATUS_IGNORED flag
will now be passed in for files that are ignored (provided they
are not already in the index or the head of repo).
Diffstat (limited to 'src/attr.h')
| -rw-r--r-- | src/attr.h | 30 |
1 files changed, 30 insertions, 0 deletions
diff --git a/src/attr.h b/src/attr.h new file mode 100644 index 000000000..5edff30d1 --- /dev/null +++ b/src/attr.h @@ -0,0 +1,30 @@ +/* + * Copyright (C) 2009-2011 the libgit2 contributors + * + * This file is part of libgit2, distributed under the GNU GPL v2 with + * a Linking Exception. For full terms see the included COPYING file. + */ +#ifndef INCLUDE_attr_h__ +#define INCLUDE_attr_h__ + +#include "attr_file.h" + +typedef struct { + int initialized; + git_hashtable *files; /* hash path to git_attr_file of rules */ + git_hashtable *macros; /* hash name to vector<git_attr_assignment> */ +} git_attr_cache; + +extern int git_attr_cache__init(git_repository *repo); + +extern int git_attr_cache__insert_macro( + git_repository *repo, git_attr_rule *macro); + +extern int git_attr_cache__push_file( + git_repository *repo, + git_vector *stack, + const char *base, + const char *filename, + int (*loader)(git_repository *, const char *, git_attr_file **)); + +#endif |
