Topic/diff tree coverage

This PR extracts all the passing tests from #878 in order to let #878 focus on the failing symlink issue.