Patch Set 4:

Charley: Your 5 points are basically it, but resource listeners is a separate thing. I think the implementation in JGit could be done completely without it. An extra layer in EGit could use resource listeners as an optimization if that is necessary. I'm happy that someone is willing to tackle this issue.