git --diff: fix traceback when getting mode change
- use the manifest instead of the mode in the working dir
if the diff is against two revisions
- add a testcase
3210 files updated, 0 files merged, 1 files removed, 0 files unresolvedsub/b not presentsub not present