HgCommandResult () { final List<String> arguments = new LinkedList<>(); if (!StringUtil.isEmptyOrSpaces(myRevision)) { arguments.add("-r"); arguments.add(myRevision); } if (myBranchName != null) { arguments.add("-b"); arguments.add(myBranchName); } if (myIsNewBranch) { arguments.add("--new-branch"); } if (!StringUtil.isEmptyOrSpaces(myBookmarkName)) { arguments.add("-B"); arguments.add(myBookmarkName); } if (myForce) { arguments.add("-f"); } arguments.add(myDestination); final HgRemoteCommandExecutor executor = new HgRemoteCommandExecutor(myProject, myDestination); executor.setShowOutput(true); HgCommandResult result = executor.executeInCurrentThread(myRepo, "push", arguments); BackgroundTaskUtil.syncPublisher(myProject, HgVcs.REMOTE_TOPIC).update(myProject, null); return result; }