libgit2/src
Russell Belfer 974774c7b0 Add attributes to filters and fix registry
The filter registry as implemented was too primitive to actually
work once multiple filters were coming into play.  This expands
the implementation of the registry to handle multiple prioritized
filters correctly.

Additionally, this adds an "attributes" field to a filter that
makes it really really easy to implement filters that are based
on one or more attribute values.  The lookup and even simple value
checking can all happen automatically without custom filter code.

Lastly, with the registry improvements, this fills out the filter
lifecycle callbacks, with initialize and shutdown callbacks that
will be called before the filter is first used and after it is
last invoked.  This allows for system-wide initialization and
cleanup by the filter.
2013-09-17 09:31:44 -07:00
..
amiga Added missing curly brackets and fixed compiler warnings. 2013-01-10 09:16:14 +01:00
hash Merge pull request #1805 from libgit2/threading-packed-load 2013-08-28 09:38:14 -07:00
transports Whitespace. 2013-09-16 23:07:22 +02:00
unix Add missing prototype for p_realpath(). 2013-04-22 00:13:35 +02:00
win32 Fix failure in win32_find_git_in_registry() when UAC is turned on 2013-09-17 22:57:30 +08:00
xdiff Merge branch 'new-error-handling' into development 2012-05-02 15:59:02 -07:00
array.h revwalk: make mark_unintersting use a loop 2013-09-06 19:56:51 +02:00
attr_file.c Revert PR #1462 and provide alternative fix 2013-08-09 10:52:35 -07:00
attr_file.h Revert PR #1462 and provide alternative fix 2013-08-09 10:52:35 -07:00
attr.c Add attributes to filters and fix registry 2013-09-17 09:31:44 -07:00
attr.h Implement global/system file search paths 2013-03-15 16:39:00 -07:00
attrcache.h Add ~ expansion to global attributes and excludes 2013-05-24 11:09:04 -07:00
bitvec.h bitvec: Simplify the bit vector code 2013-07-10 21:05:47 +02:00
blob.c Create public filter object and use it 2013-09-17 09:30:06 -07:00
blob.h Fix rename detection to use actual blob size 2013-07-25 12:27:39 -07:00
branch.c No such thing as an orphan branch 2013-09-17 09:50:30 +02:00
branch.h branch: rename 'tracking' to 'upstream' 2013-03-30 15:45:57 +01:00
bswap.h update copyrights 2013-01-08 17:31:27 -06:00
buf_text.c Start of filter API + git_blob_filtered_content 2013-09-17 09:30:06 -07:00
buf_text.h Start of filter API + git_blob_filtered_content 2013-09-17 09:30:06 -07:00
buffer.c Start of filter API + git_blob_filtered_content 2013-09-17 09:30:06 -07:00
buffer.h Create public filter object and use it 2013-09-17 09:30:06 -07:00
cache.c util: It's called memzero 2013-06-12 21:10:33 +02:00
cache.h git_atomic_ssize for 64-bit atomics only on 64-bit platforms 2013-04-25 12:40:33 -05:00
cc-compat.h Trying to fix Win32 warnings 2013-08-22 14:45:10 -07:00
checkout.c Create public filter object and use it 2013-09-17 09:30:06 -07:00
checkout.h update copyrights 2013-01-08 17:31:27 -06:00
clone.c No such thing as an orphan branch 2013-09-17 09:50:30 +02:00
commit_list.c Prefer younger merge bases over older ones. 2013-06-25 18:36:37 +02:00
commit_list.h update copyrights 2013-01-08 17:31:27 -06:00
commit.c Fix warnings on Win64 2013-07-11 11:04:42 -07:00
commit.h Convert commit->parent_ids to git_array_t 2013-07-10 20:50:32 +02:00
common.h Add git_has_win32_version helper 2013-03-31 22:22:33 -04:00
compress.c update copyrights 2013-01-08 17:31:27 -06:00
compress.h update copyrights 2013-01-08 17:31:27 -06:00
config_cache.c Add configs to repo config cache 2013-04-23 12:57:30 -07:00
config_file.c config: handle realloc issues from larger depths 2013-09-07 20:51:26 +02:00
config_file.h replaced foreach() with non callback based iterations in git_config_backend 2013-08-08 11:14:53 +02:00
config.c config: don't special-case the multivar iterator 2013-08-14 00:45:05 +02:00
config.h config: don't special-case the multivar iterator 2013-08-14 00:45:05 +02:00
crlf.c Add attributes to filters and fix registry 2013-09-17 09:31:44 -07:00
date.c Use time(2) to get the time 2013-08-19 16:44:17 -05:00
delta-apply.c update copyrights 2013-01-08 17:31:27 -06:00
delta-apply.h update copyrights 2013-01-08 17:31:27 -06:00
delta.c Fixing unwrapped calloc 2013-05-27 16:45:22 -07:00
delta.h Fix warnings on Win64 build 2012-11-27 13:18:29 -08:00
diff_driver.c config: get_multivar -> get_multivar_foreach 2013-08-08 13:57:01 +02:00
diff_driver.h Fix Windows warnings 2013-06-12 15:21:21 -07:00
diff_file.c Create public filter object and use it 2013-09-17 09:30:06 -07:00
diff_file.h Add "as_path" parameters to blob and buffer diffs 2013-06-17 17:03:34 -07:00
diff_patch.c Merge pull request #1738 from libgit2/diff-patch-content-size 2013-08-08 08:54:38 -07:00
diff_patch.h Fix diff header naming issues 2013-06-12 14:18:09 -07:00
diff_print.c Better macro name for is-exec-bit-set test 2013-09-05 16:14:32 -07:00
diff_tform.c Merge pull request #1804 from ethomson/rewrites 2013-09-03 12:29:18 -07:00
diff_xdiff.c Fix diff header naming issues 2013-06-12 14:18:09 -07:00
diff_xdiff.h Reorganize diff and add basic diff driver 2013-06-10 10:10:39 -07:00
diff.c Create public filter object and use it 2013-09-17 09:30:06 -07:00
diff.h Merge pull request #1738 from libgit2/diff-patch-content-size 2013-08-08 08:54:38 -07:00
errors.c Fix valgrind issues (and mmap fallback for diff) 2013-03-14 13:50:54 -07:00
fetch.c Reorganize diff and add basic diff driver 2013-06-10 10:10:39 -07:00
fetch.h update copyrights 2013-01-08 17:31:27 -06:00
fetchhead.c immutable references and a pluggable ref database 2013-03-07 11:01:52 -06:00
fetchhead.h update copyrights 2013-01-08 17:31:27 -06:00
filebuf.c index: report when it's locked 2013-08-19 10:30:44 +02:00
filebuf.h update copyrights 2013-01-08 17:31:27 -06:00
fileops.c path: Make direach() return EUSER on callback error 2013-09-10 22:36:10 +02:00
fileops.h Better macro name for is-exec-bit-set test 2013-09-05 16:14:32 -07:00
filter.c Add attributes to filters and fix registry 2013-09-17 09:31:44 -07:00
filter.h Create public filter object and use it 2013-09-17 09:30:06 -07:00
fnmatch.c update copyrights 2013-01-08 17:31:27 -06:00
fnmatch.h update copyrights 2013-01-08 17:31:27 -06:00
global.c Load SRWLock APIs at runtime 2013-08-26 14:56:31 -07:00
global.h Add git__compare_and_swap and use it 2013-04-22 16:52:07 +02:00
graph.c graph: make the ahead-behind docs clearer 2013-03-22 20:27:59 +01:00
hash.c update copyrights 2013-01-08 17:31:27 -06:00
hash.h Revert "hash: remove git_hash_init from internal api" 2013-02-26 01:08:34 +01:00
hashsig.c Major rename detection changes 2013-07-31 16:40:42 -07:00
hashsig.h Refine pluggable similarity API 2013-02-20 15:09:41 -08:00
ignore.c Improve and comment git_ignore__pop_dir 2013-08-09 11:41:41 -07:00
ignore.h Improve building ignore file lists 2013-08-09 11:41:41 -07:00
index.c Add more file mode permissions macros 2013-09-05 11:20:12 -07:00
index.h Add public API for pathspec matching 2013-07-10 20:50:31 +02:00
indexer.c index: fix potential memory leaks 2013-07-15 16:29:09 +02:00
iterator.c Improve building ignore file lists 2013-08-09 11:41:41 -07:00
iterator.h Add target directory to checkout 2013-06-21 11:55:13 -07:00
khash.h Isolate khash inlines from global namespace 2012-07-12 11:49:15 -07:00
map.h update copyrights 2013-01-08 17:31:27 -06:00
merge_file.c Fix trailing whitespaces 2013-05-15 22:41:30 +02:00
merge_file.h Fix trailing whitespaces 2013-05-15 22:41:30 +02:00
merge.c Fix some more memory leaks in error path 2013-07-15 16:29:18 +02:00
merge.h merge setup 2013-05-17 08:26:24 -05:00
message.c update copyrights 2013-01-08 17:31:27 -06:00
message.h update copyrights 2013-01-08 17:31:27 -06:00
mwindow.c Further threading fixes 2013-04-22 16:52:07 +02:00
mwindow.h update copyrights 2013-01-08 17:31:27 -06:00
netops.c netops: remove duplicate include 2013-08-24 20:15:22 +10:00
netops.h Enhance url parsing to include passwords 2013-01-31 14:04:21 -08:00
notes.c Make iterators use GIT_ITEROVER & smart advance 2013-05-31 12:18:43 -07:00
notes.h fixed minor issues with new note iterator 2013-03-06 22:36:19 +01:00
object_api.c object: haha 2013-04-30 13:19:02 +02:00
object.c Fix broken build when MSVC SDL checks is enabled 2013-05-11 20:13:26 +08:00
object.h object: Explicitly define helper API methods for all obj types 2013-04-30 13:13:38 +02:00
odb_loose.c odb: Teach loose backend to return EAMBIGUOUS 2013-09-10 22:36:13 +02:00
odb_pack.c path: Make direach() return EUSER on callback error 2013-09-10 22:36:10 +02:00
odb.c Create public filter object and use it 2013-09-17 09:30:06 -07:00
odb.h Create public filter object and use it 2013-09-17 09:30:06 -07:00
offmap.h pack: introduce a delta base cache 2013-01-11 16:55:37 +01:00
oid.c oid: git_oid_shorten_add() sets GITERR_INVALID when OID set is full 2013-08-31 18:22:50 +08:00
oid.h oid: Helper for old-school hashcmp 2013-08-14 10:34:07 +02:00
oidmap.h Add callback to git_objects_table 2013-04-22 16:51:40 +02:00
pack-objects.c pack: fix memory leak in error path 2013-07-15 16:29:13 +02:00
pack-objects.h update copyrights 2013-01-08 17:31:27 -06:00
pack.c sha1_lookup: do not use the "experimental" lookup mode 2013-08-14 10:28:01 +02:00
pack.h Consolidate packfile allocation further 2013-04-22 16:52:07 +02:00
path.c path: Make direach() return EUSER on callback error 2013-09-10 22:36:10 +02:00
path.h Clean up some documentation 2013-07-23 09:40:19 +02:00
pathspec.c Match against file with leading ! was too broad 2013-08-09 11:20:49 -07:00
pathspec.h Add git_pathspec_match_diff API 2013-07-10 20:50:33 +02:00
pool.c allow (ignore) bare slash in gitignore 2013-05-29 16:26:25 -05:00
pool.h Improved tree iterator internals 2013-03-14 13:40:15 -07:00
posix.c Add O_CLOEXEC to open calls 2013-06-22 20:58:32 -07:00
posix.h Use time(2) to get the time 2013-08-19 16:44:17 -05:00
pqueue.c update copyrights 2013-01-08 17:31:27 -06:00
pqueue.h Clean up some documentation 2013-07-23 09:40:19 +02:00
push.c push: handle tag chains correctly 2013-08-16 01:32:29 +02:00
push.h Implemented push on the local transport 2013-03-11 17:32:33 -04:00
refdb_fs.c path: Make direach() return EUSER on callback error 2013-09-10 22:36:10 +02:00
refdb_fs.h immutable references and a pluggable ref database 2013-03-07 11:01:52 -06:00
refdb.c util: It's called memzero 2013-06-12 21:10:33 +02:00
refdb.h Refcounting 2013-05-30 17:19:43 +02:00
reflog.c errors: Fix format of some error messages 2013-09-11 20:13:59 +02:00
reflog.h update copyrights 2013-01-08 17:31:27 -06:00
refs.c Merge pull request #1805 from libgit2/threading-packed-load 2013-08-28 09:38:14 -07:00
refs.h Merge pull request #1805 from libgit2/threading-packed-load 2013-08-28 09:38:14 -07:00
refspec.c Make refspec_transform paranoid about arguments 2013-07-01 10:21:14 -07:00
refspec.h remote: dwim the refspecs according to the remote's advertised refs 2013-04-28 18:49:51 +02:00
remote.c No such thing as an orphan branch 2013-09-17 09:50:30 +02:00
remote.h Reorganize diff and add basic diff driver 2013-06-10 10:10:39 -07:00
repo_template.h Make mode handling during init more like git 2013-02-27 13:44:15 -08:00
repository.c Create public filter object and use it 2013-09-17 09:30:06 -07:00
repository.h Reorganize diff and add basic diff driver 2013-06-10 10:10:39 -07:00
reset.c Fix trailing whitespaces 2013-05-15 22:41:30 +02:00
revparse.c errors: Fix format of some error messages 2013-09-11 20:13:59 +02:00
revwalk.c revwalk: allow simplifying by first-parent 2013-09-09 20:31:14 +02:00
revwalk.h revwalk: allow simplifying by first-parent 2013-09-09 20:31:14 +02:00
sha1_lookup.c Backport @peff's fix for duplicates in sha1_lookup 2013-09-04 13:16:57 +02:00
sha1_lookup.h sha1_lookup: do not use the "experimental" lookup mode 2013-08-14 10:28:01 +02:00
signature.c Add new git_signature_default API using config 2013-08-16 15:04:15 -07:00
signature.h update copyrights 2013-01-08 17:31:27 -06:00
sortedcache.c Fix sortedcache docs and other feedback 2013-08-22 15:44:34 -07:00
sortedcache.h Add stddef include for sortedcache 2013-08-28 11:20:47 -07:00
stash.c No such thing as an orphan branch 2013-09-17 09:50:30 +02:00
status.c No such thing as an orphan branch 2013-09-17 09:50:30 +02:00
status.h status access by index, providing more details to callers 2013-06-17 10:03:14 -07:00
strmap.c config: get rid of a useless asignment 2013-08-12 11:40:57 +02:00
strmap.h config: get rid of a useless asignment 2013-08-12 11:40:57 +02:00
submodule.c No such thing as an orphan branch 2013-09-17 09:50:30 +02:00
submodule.h Add ignore_submodules to diff options 2013-07-10 12:15:03 -07:00
tag.c odb: wrap the stream reading and writing functions 2013-08-15 14:29:27 +02:00
tag.h Simplify object table parse functions 2013-04-22 16:52:06 +02:00
thread-utils.c update copyrights 2013-01-08 17:31:27 -06:00
thread-utils.h Load SRWLock APIs at runtime 2013-08-26 14:56:31 -07:00
trace.c Fix trailing whitespaces 2013-05-15 22:41:30 +02:00
trace.h Fix trailing whitespaces 2013-05-15 22:41:30 +02:00
transport.c Make SSH APIs present even without SSH support 2013-07-09 09:58:33 -07:00
tree-cache.c update copyrights 2013-01-08 17:31:27 -06:00
tree-cache.h update copyrights 2013-01-08 17:31:27 -06:00
tree.c Fix memory leak in git_tree_walk on error or when stopping the walk from the supplied callback 2013-09-13 21:36:39 +02:00
tree.h Add cat-file example and increase const use in API 2013-05-16 10:38:27 -07:00
tsort.c Sorting function cleanup and MinGW fix 2013-03-11 16:43:58 -07:00
util.c Use git__insertsort_r on Android too. 2013-09-01 18:47:56 +02:00
util.h vector: Teach git_vector_uniq() to free while deduplicating 2013-08-27 20:14:07 +02:00
vector.c vector: Teach git_vector_uniq() to free while deduplicating 2013-08-27 20:14:07 +02:00
vector.h Merge pull request #1805 from libgit2/threading-packed-load 2013-08-28 09:38:14 -07:00