@Override public boolean performFinish() { // finish work in each page page.finish(new NullProgressMonitor()); outgoingPage.finish(new NullProgressMonitor()); String bundleFile = page.getBundleFile(); // only use a target rev if checkbox was selected ChangeSet cs = outgoingPage.isRevisionSelected() ? outgoingPage.getRevision() : null; // base will be null if nothing was selected or checkbox is not selected ChangeSet base = page.getBaseRevision(); // can be null or empty String repo = page.getUrlText(); // create operation BundleOperation op = new BundleOperation(getContainer(), root, cs, base, bundleFile, repo); try { // and run it... getContainer().run(true, true, op); } catch (Exception e) { MercurialEclipsePlugin.logError(e); page.setErrorMessage(e.getLocalizedMessage()); outgoingPage.setErrorMessage(e.getLocalizedMessage()); } return super.performFinish(); }