CloneStatus (@NotNull ProgressIndicator indicator) { WorkingCopyFormat format = selectedFormat == null ? UNKNOWN : selectedFormat; SvnVcs vcs = SvnVcs.getInstance(project); ProgressTracker handler = new CheckoutEventHandler(vcs, false, ProgressManager.getInstance().getProgressIndicator()); indicator.setText(message("progress.text.checking.out", target.getAbsolutePath())); try { getFactory(vcs).createCheckoutClient() .checkout(Target.on(url), target, revision, depth, ignoreExternals, true, format, handler); checkoutSuccessful.set(Boolean.TRUE); return CloneStatus.SUCCESS; } catch (VcsException exception) { getApplication().invokeLater(() -> { showErrorDialog(message("message.text.cannot.checkout", exception.getMessage()), message("dialog.title.check.out")); }); return CloneStatus.FAILURE; } finally { VirtualFile vf = LocalFileSystem.getInstance().refreshAndFindFileByIoFile(target); if (vf != null) { vf.refresh(true, true, () -> getApplication().executeOnPooledThread(() -> notifyListener())); } else { notifyListener(); } } }