Support using a DirCache within a TreeWalk
Being able to include the .git/index file as part of a parallel TreeWalk
which also covers one or more canonical tree objects from the database
and the working directory makes it much easier to handle differences or
merges between the various states.
This iterator implementation adapts a loaded DirCache instance into a
tree structure that the TreeWalk can iterate. Since TreeWalk wants to
use a hierarchical structure and the DirCache is flat we force the TREE
extension to load (or generate) and work off that.
Signed-off-by: Shawn O. Pearce <spearce@spearce.org>
Signed-off-by: Robin Rosenberg <robin.rosenberg@dewire.com>