void (final Project project, final File target, final Url url, final Depth depth, final boolean ignoreExternals, final boolean force, final String eolStyle) { try { final VcsException[] exception = new VcsException[1]; final SvnVcs vcs = SvnVcs.getInstance(project); ProgressManager.getInstance().runProcessWithProgressSynchronously(() -> { ProgressIndicator progressIndicator = ProgressManager.getInstance().getProgressIndicator(); ProgressTracker handler = new CheckoutEventHandler(vcs, true, progressIndicator); try { progressIndicator.setText(message("progress.text.export", target.getAbsolutePath())); Target from = Target.on(url); ExportClient client = vcs.getFactoryFromSettings().createExportClient(); client.export(from, target, Revision.HEAD, depth, eolStyle, force, ignoreExternals, handler); } catch (VcsException e) { exception[0] = e; } }, message("message.title.export"), true, project); if (exception[0] != null) { throw exception[0]; } } catch (VcsException e1) { showErrorDialog(message("message.text.cannot.export", e1.getMessage()), message("message.title.export")); } }