diff options
author | Kevin Sawicki | 2011-12-07 23:11:53 +0000 |
---|---|---|
committer | Kevin Sawicki | 2011-12-14 17:29:50 +0000 |
commit | 46ec0ec6ef8d77a1c5ae5344ffa17536227dfd5b (patch) | |
tree | 1dd73a0fc06758f86a6da9df3443a80a7c4f1dfb | |
parent | d661f5ad24eb7f6a8edb1fdfc7c74300e0825912 (diff) | |
download | egit-46ec0ec6ef8d77a1c5ae5344ffa17536227dfd5b.tar.gz egit-46ec0ec6ef8d77a1c5ae5344ffa17536227dfd5b.tar.xz egit-46ec0ec6ef8d77a1c5ae5344ffa17536227dfd5b.zip |
Don't show files message if no failing paths
Previously a line of "The following files..." would
be shown even if the merge result had null or empty
failing paths.
This now handles the case in the message when no paths
are present and also allows RevertFailureDialog to be
created with only a map of paths to reasons.
Bug: 365916
Change-Id: Idd975f7c2316e1610042077acc77dd79a1517076
3 files changed, 21 insertions, 9 deletions
diff --git a/org.eclipse.egit.ui/src/org/eclipse/egit/ui/UIText.java b/org.eclipse.egit.ui/src/org/eclipse/egit/ui/UIText.java index ef68fb14af..41eb60b82c 100644 --- a/org.eclipse.egit.ui/src/org/eclipse/egit/ui/UIText.java +++ b/org.eclipse.egit.ui/src/org/eclipse/egit/ui/UIText.java @@ -3599,6 +3599,9 @@ public class UIText extends NLS { public static String RevertFailureDialog_Message; /** */ + public static String RevertFailureDialog_MessageNoFiles; + + /** */ public static String RevertFailureDialog_ReasonChangesInIndex; /** */ diff --git a/org.eclipse.egit.ui/src/org/eclipse/egit/ui/internal/dialogs/RevertFailureDialog.java b/org.eclipse.egit.ui/src/org/eclipse/egit/ui/internal/dialogs/RevertFailureDialog.java index 98daf802f0..106dac249a 100644 --- a/org.eclipse.egit.ui/src/org/eclipse/egit/ui/internal/dialogs/RevertFailureDialog.java +++ b/org.eclipse.egit.ui/src/org/eclipse/egit/ui/internal/dialogs/RevertFailureDialog.java @@ -56,11 +56,19 @@ public class RevertFailureDialog extends MessageDialog { * @param result */ public static void show(Shell shell, RevCommit commit, MergeResult result) { - String message = MessageFormat - .format(UIText.RevertFailureDialog_Message, commit - .abbreviate(7).name()); + String message; + Map<String, MergeFailureReason> reasons = result != null ? result + .getFailingPaths() : null; + if (reasons != null && !reasons.isEmpty()) + message = MessageFormat.format(UIText.RevertFailureDialog_Message, + commit.abbreviate(7).name()); + else + message = MessageFormat.format( + UIText.RevertFailureDialog_MessageNoFiles, commit + .abbreviate(7).name()); + RevertFailureDialog dialog = new RevertFailureDialog(shell, message, - result); + reasons); dialog.setShellStyle(dialog.getShellStyle() | SWT.SHEET | SWT.RESIZE); dialog.open(); } @@ -144,23 +152,23 @@ public class RevertFailureDialog extends MessageDialog { } } - private final MergeResult result; + private final Map<String, MergeFailureReason> reasons; /** * Create dialog for merge result * * @param shell * @param message - * @param result + * @param reasons */ - public RevertFailureDialog(Shell shell, String message, MergeResult result) { + public RevertFailureDialog(Shell shell, String message, + Map<String, MergeFailureReason> reasons) { super(shell, UIText.RevertFailureDialog_Title, null, message, ERROR, new String[] { IDialogConstants.OK_LABEL }, 0); - this.result = result; + this.reasons = reasons; } protected Control createCustomArea(Composite parent) { - Map<String, MergeFailureReason> reasons = result.getFailingPaths(); if (reasons == null || reasons.isEmpty()) return null; diff --git a/org.eclipse.egit.ui/src/org/eclipse/egit/ui/uitext.properties b/org.eclipse.egit.ui/src/org/eclipse/egit/ui/uitext.properties index 980778ffff..59d69ce2a0 100644 --- a/org.eclipse.egit.ui/src/org/eclipse/egit/ui/uitext.properties +++ b/org.eclipse.egit.ui/src/org/eclipse/egit/ui/uitext.properties @@ -1289,6 +1289,7 @@ RenameBranchDialog_RenameButtonLabel=&Rename RenameBranchDialog_RenameErrorMessage=Failed to rename branch {0} -> {1}, status={2} RenameBranchDialog_WindowTitle=Branch Rename RevertFailureDialog_Message=Reverting commit ''{0}'' did not successfully complete.\n\nThe following files could not be reverted: +RevertFailureDialog_MessageNoFiles=Reverting commit ''{0}'' did not successfully complete. RevertFailureDialog_ReasonChangesInIndex=Local Changes in Index RevertFailureDialog_ReasonChangesInWorkingDirectory=Local Changes in Working Directory RevertFailureDialog_ReasonDeleteFailure=Unable to Delete |