diff options
Diffstat (limited to 'subversion/libsvn_wc/diff_editor.c')
-rw-r--r-- | subversion/libsvn_wc/diff_editor.c | 12 |
1 files changed, 8 insertions, 4 deletions
diff --git a/subversion/libsvn_wc/diff_editor.c b/subversion/libsvn_wc/diff_editor.c index 839241f..b426884 100644 --- a/subversion/libsvn_wc/diff_editor.c +++ b/subversion/libsvn_wc/diff_editor.c @@ -474,14 +474,18 @@ svn_wc__diff_base_working_diff(svn_wc__db_t *db, { const svn_io_dirent2_t *dirent; + /* Verify truename to mimic status for iota/IOTA difference on Windows */ SVN_ERR(svn_io_stat_dirent2(&dirent, local_abspath, - FALSE /* verify truename */, + TRUE /* verify truename */, TRUE /* ingore_enoent */, scratch_pool, scratch_pool)); - if (dirent->kind == svn_node_file - && dirent->filesize == recorded_size - && dirent->mtime == recorded_time) + /* If a file does not exist on disk (missing/obstructed) then we + can't provide a text diff */ + if (dirent->kind != svn_node_file + || (dirent->kind == svn_node_file + && dirent->filesize == recorded_size + && dirent->mtime == recorded_time)) { files_same = TRUE; } |