Skip to main content
aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorThomas Wolf2019-03-17 15:01:26 +0000
committerThomas Wolf2019-03-18 22:05:21 +0000
commit9e97a3c89932b04e32cb908f895e458dc045af02 (patch)
tree9c6673fbc9b4e1042baed6b6c7aeedf85ead577e /org.eclipse.egit.gitflow.ui/src/org
parentfcb7ff971d19452eb5d2284e2a8b3e28e9261c5f (diff)
downloadegit-9e97a3c89932b04e32cb908f895e458dc045af02.tar.gz
egit-9e97a3c89932b04e32cb908f895e458dc045af02.tar.xz
egit-9e97a3c89932b04e32cb908f895e458dc045af02.zip
Use UIRepositoryUtils.showCleanupDialog()
Instead of creating CleanupUncommittedChangesDialogs in several places use the existing UIRepositoryUtils.showCleanupDialog(). This prepares unifying this dialog with the CheckoutConflictDialog. No functional changes. Bug: 545471 Change-Id: I299466f8486eae41e11c8b6c7b736a92ff4db8fd Signed-off-by: Thomas Wolf <thomas.wolf@paranor.ch>
Diffstat (limited to 'org.eclipse.egit.gitflow.ui/src/org')
-rw-r--r--org.eclipse.egit.gitflow.ui/src/org/eclipse/egit/gitflow/ui/internal/UIText.java3
-rw-r--r--org.eclipse.egit.gitflow.ui/src/org/eclipse/egit/gitflow/ui/internal/actions/FeatureCheckoutHandler.java42
-rw-r--r--org.eclipse.egit.gitflow.ui/src/org/eclipse/egit/gitflow/ui/internal/uitext.properties3
3 files changed, 10 insertions, 38 deletions
diff --git a/org.eclipse.egit.gitflow.ui/src/org/eclipse/egit/gitflow/ui/internal/UIText.java b/org.eclipse.egit.gitflow.ui/src/org/eclipse/egit/gitflow/ui/internal/UIText.java
index 3819f5d7c2..bae44db0fd 100644
--- a/org.eclipse.egit.gitflow.ui/src/org/eclipse/egit/gitflow/ui/internal/UIText.java
+++ b/org.eclipse.egit.gitflow.ui/src/org/eclipse/egit/gitflow/ui/internal/UIText.java
@@ -228,9 +228,6 @@ public class UIText extends NLS {
public static String FeatureCheckoutHandler_cleanupDialog_title;
/** */
- public static String FeatureCheckoutHandler_cleanupDialog_text;
-
- /** */
public static String FinishFeatureDialog_ButtonOK;
/** */
diff --git a/org.eclipse.egit.gitflow.ui/src/org/eclipse/egit/gitflow/ui/internal/actions/FeatureCheckoutHandler.java b/org.eclipse.egit.gitflow.ui/src/org/eclipse/egit/gitflow/ui/internal/actions/FeatureCheckoutHandler.java
index 247d90c791..2685407833 100644
--- a/org.eclipse.egit.gitflow.ui/src/org/eclipse/egit/gitflow/ui/internal/actions/FeatureCheckoutHandler.java
+++ b/org.eclipse.egit.gitflow.ui/src/org/eclipse/egit/gitflow/ui/internal/actions/FeatureCheckoutHandler.java
@@ -14,8 +14,6 @@ import static org.eclipse.egit.gitflow.ui.Activator.error;
import static org.eclipse.egit.gitflow.ui.internal.JobFamilies.GITFLOW_FAMILY;
import java.text.MessageFormat;
-import java.util.ArrayList;
-import java.util.Collections;
import java.util.List;
import org.eclipse.core.commands.AbstractHandler;
@@ -31,14 +29,13 @@ import org.eclipse.egit.gitflow.op.FeatureCheckoutOperation;
import org.eclipse.egit.gitflow.ui.internal.JobFamilies;
import org.eclipse.egit.gitflow.ui.internal.UIText;
import org.eclipse.egit.gitflow.ui.internal.dialogs.FeatureBranchSelectionDialog;
-import org.eclipse.egit.ui.internal.branch.CleanupUncomittedChangesDialog;
+import org.eclipse.egit.ui.Activator;
+import org.eclipse.egit.ui.internal.UIRepositoryUtils;
import org.eclipse.jface.window.Window;
import org.eclipse.jgit.api.CheckoutResult;
-import org.eclipse.jgit.api.Git;
import org.eclipse.jgit.api.errors.GitAPIException;
import org.eclipse.jgit.lib.Constants;
import org.eclipse.jgit.lib.Ref;
-import org.eclipse.jgit.lib.Repository;
import org.eclipse.swt.widgets.Shell;
import org.eclipse.ui.handlers.HandlerUtil;
@@ -53,8 +50,6 @@ public class FeatureCheckoutHandler extends AbstractHandler {
return error(UIText.Handlers_noGitflowRepositoryFound);
}
- Repository repository = gfRepo.getRepository();
-
final List<Ref> refs = gfRepo.getFeatureBranches();
FeatureBranchSelectionDialog dialog = new FeatureBranchSelectionDialog(
@@ -88,8 +83,13 @@ public class FeatureCheckoutHandler extends AbstractHandler {
CheckoutResult result = checkoutOperation.getResult();
if (!CheckoutResult.Status.OK.equals(result.getStatus())) {
Shell shell = HandlerUtil.getActiveShell(event);
- if (!handleUncommittedFiles(gfRepo.getRepository(), shell,
- repository.getWorkTree().getName())) {
+ String repoName = Activator.getDefault().getRepositoryUtil()
+ .getRepositoryName(gfRepo.getRepository());
+ if (!UIRepositoryUtils.handleUncommittedFiles(
+ gfRepo.getRepository(), shell,
+ MessageFormat.format(
+ UIText.FeatureCheckoutHandler_cleanupDialog_title,
+ repoName))) {
return Status.CANCEL_STATUS;
} else {
JobUtil.scheduleUserWorkspaceJob(checkoutOperation,
@@ -103,28 +103,4 @@ public class FeatureCheckoutHandler extends AbstractHandler {
return null;
}
-
- private boolean handleUncommittedFiles(Repository repo, Shell shell,
- String repoName) throws GitAPIException {
- try (Git git = new Git(repo)) {
- org.eclipse.jgit.api.Status status = git.status().call();
-
- if (status.hasUncommittedChanges()) {
- List<String> files = new ArrayList<String>(
- status.getUncommittedChanges());
- Collections.sort(files);
- CleanupUncomittedChangesDialog cleanupUncomittedChangesDialog = new CleanupUncomittedChangesDialog(
- shell,
- MessageFormat
- .format(UIText.FeatureCheckoutHandler_cleanupDialog_title,
- repoName),
- UIText.FeatureCheckoutHandler_cleanupDialog_text,
- repo, files);
- cleanupUncomittedChangesDialog.open();
- return cleanupUncomittedChangesDialog.shouldContinue();
- } else {
- return true;
- }
- }
- }
}
diff --git a/org.eclipse.egit.gitflow.ui/src/org/eclipse/egit/gitflow/ui/internal/uitext.properties b/org.eclipse.egit.gitflow.ui/src/org/eclipse/egit/gitflow/ui/internal/uitext.properties
index e773f6fff9..2cc9b356b3 100644
--- a/org.eclipse.egit.gitflow.ui/src/org/eclipse/egit/gitflow/ui/internal/uitext.properties
+++ b/org.eclipse.egit.gitflow.ui/src/org/eclipse/egit/gitflow/ui/internal/uitext.properties
@@ -73,8 +73,7 @@ FeatureCheckoutHandler_selectFeature=Select Feature
FeaturePublishHandler_publishingFeature=Publishing feature...
ReleasePublishHandler_publishingRelease=Publishing release...
HotfixPublishHandler_publishingHotfix=Publishing hotfix...
-FeatureCheckoutHandler_cleanupDialog_title=Cannot Rebase Repository ''{0}''
-FeatureCheckoutHandler_cleanupDialog_text=You have uncommitted changes. Either commit the changes, stash the changes, or discard the changes by resetting the current branch.
+FeatureCheckoutHandler_cleanupDialog_title=Cannot Check Out Feature Branch in Repository ''{0}''
FinishFeatureDialog_ButtonOK=&Finish
FinishFeatureDialog_keepBranch=&Keep branch - do not delete branch after finishing the feature
FinishFeatureDialog_saveAsDefault=Save as &default

Back to the top