mirror of
https://gitflic.ru/project/openide/openide.git
synced 2026-09-27 10:03:11 +07:00
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:
@@ -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,
|
||||
|
||||
Reference in New Issue
Block a user