Patch Set 6:

The attached patch requires some small changes in JGit to add a cache to the Repository class. I will revisit this change when changes in 1156 are complete.

This implementation would walk the tree once upon creation and then uses change listeners to update ignore rules as .gitignore/exclude files are modified/added/deleted.