diff options
author | Thomas Wolf | 2019-03-17 15:01:26 +0000 |
---|---|---|
committer | Thomas Wolf | 2019-03-18 22:05:21 +0000 |
commit | 9e97a3c89932b04e32cb908f895e458dc045af02 (patch) | |
tree | 9c6673fbc9b4e1042baed6b6c7aeedf85ead577e /org.eclipse.egit.gitflow.ui/src/org | |
parent | fcb7ff971d19452eb5d2284e2a8b3e28e9261c5f (diff) | |
download | egit-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')
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 |