Shawn, I found problems with this implementation. Problem is that we will not go into combineDF() always. I saw it not happen when there is no gap between the file and the dir. I added tests to NameConflictTreeWalk tests which show the problem.

I am also not sure whether we always enter popEntriesEqual to clean up after we left the D/F conflict path.

I added another implementation of this in http://egit.eclipse.org/r/#change,1169.