Subversion: format 1.6, force-VFS-refresh for .svn and .svn/entries can be done asynchronously, just the fact of refresh is important

(to make entries changes be visible for VFS listener)

- fix hunging tests
This commit is contained in:
irengrig
2013-02-12 14:01:55 +04:00
parent 1842f42028
commit c1b9dd8355
@@ -307,21 +307,17 @@ class SvnChangeProviderContext implements StatusReceiver {
if (parentPath == null) {
return;
}
File svnSubdirectory = new File(parentPath.getIOFile(), SvnUtil.SVN_ADMIN_DIR_NAME);
LocalFileSystem localFileSystem = LocalFileSystem.getInstance();
VirtualFile file = localFileSystem.refreshAndFindFileByIoFile(svnSubdirectory);
if (file != null) {
localFileSystem.refreshAndFindFileByIoFile(new File(svnSubdirectory, SvnUtil.ENTRIES_FILE_NAME));
}
refreshDotSvnAndEntries(parentPath);
if (filePath.isDirectory()) {
svnSubdirectory = new File(filePath.getPath(), SvnUtil.SVN_ADMIN_DIR_NAME);
file = localFileSystem.refreshAndFindFileByIoFile(svnSubdirectory);
if (file != null) {
localFileSystem.refreshAndFindFileByIoFile(new File(svnSubdirectory, SvnUtil.ENTRIES_FILE_NAME));
}
refreshDotSvnAndEntries(filePath);
}
}
private static void refreshDotSvnAndEntries(FilePath filePath) {
final File svn = new File(filePath.getPath(), SvnUtil.SVN_ADMIN_DIR_NAME);
LocalFileSystem.getInstance().refreshIoFiles(Arrays.asList(svn, new File(svn, SvnUtil.ENTRIES_FILE_NAME)), true, false, null);
}
// seems here we can only have a tree conflict; which can be marked on either path (?)
// .. ok try to merge states
Change createMovedChange(final ContentRevision before, final ContentRevision after, final SVNStatus copiedStatus,