diff options
author | Mathias Kinzler | 2011-02-17 16:44:55 +0000 |
---|---|---|
committer | Jens Baumgart | 2011-02-18 14:25:10 +0000 |
commit | 02ed62a178de24ed5d0c33ba0f3f3c4430948181 (patch) | |
tree | 0d986d2d6ee1e553bc7f8b234087fc4670ec8eb1 | |
parent | 2cc98a85b7532cf593c5f95d283c8888266beac4 (diff) | |
download | egit-02ed62a178de24ed5d0c33ba0f3f3c4430948181.tar.gz egit-02ed62a178de24ed5d0c33ba0f3f3c4430948181.tar.xz egit-02ed62a178de24ed5d0c33ba0f3f3c4430948181.zip |
[historyView] Performance third part
Renders a message instead of simply doing nothing when selecting a
file in a merge commit which we can not render a diff for.
Change-Id: I128356f6f81a38e595fbac17036af28d03f84e01
Signed-off-by: Mathias Kinzler <mathias.kinzler@sap.com>
3 files changed, 10 insertions, 1 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 24ffa5ad42..93afad2a3e 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 @@ -1717,6 +1717,9 @@ public class UIText extends NLS { public static String CommitMessageViewer_BuildDiffTaskName; /** */ + public static String CommitMessageViewer_CanNotRenderDiffMessage; + + /** */ public static String CommitMessageViewer_tags; /** */ diff --git a/org.eclipse.egit.ui/src/org/eclipse/egit/ui/internal/history/CommitMessageViewer.java b/org.eclipse.egit.ui/src/org/eclipse/egit/ui/internal/history/CommitMessageViewer.java index 8a12c3be3d..b01ba7b9aa 100644 --- a/org.eclipse.egit.ui/src/org/eclipse/egit/ui/internal/history/CommitMessageViewer.java +++ b/org.eclipse.egit.ui/src/org/eclipse/egit/ui/internal/history/CommitMessageViewer.java @@ -398,6 +398,11 @@ class CommitMessageViewer extends TextViewer implements if (trace) GitTraceLocation.getTrace().traceEntry( GitTraceLocation.HISTORYVIEW.getLocation()); + if (commit.getParentCount() != 1) { + d.append(UIText.CommitMessageViewer_CanNotRenderDiffMessage); + return; + } + try { monitor.beginTask(UIText.CommitMessageViewer_BuildDiffListTaskName, currentDiffs.size()); @@ -805,7 +810,7 @@ class CommitMessageViewer extends TextViewer implements // build the list of file diffs asynchronously to ensure UI // responsiveness - if (!currentDiffs.isEmpty() && commit.getParentCount() == 1) + if (!currentDiffs.isEmpty()) buildDiffs(d, styles, monitor, trace); if (trace) 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 dc5d5c43f5..517c295a38 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 @@ -560,6 +560,7 @@ CommitMessageViewer_child=Child CommitMessageViewer_branches=Branches CommitMessageViewer_BuildDiffListTaskName=Building diffs for the selected files CommitMessageViewer_BuildDiffTaskName=Building diff for file {0} +CommitMessageViewer_CanNotRenderDiffMessage=Can not render Diff, as the current commit has no or multiple parents CommitMessageViewer_tags=Tags CommitMessageViewer_follows=Follows CommitMessageViewer_precedes=Precedes |