Skip to main content
aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorMathias Kinzler2010-10-19 22:42:27 +0000
committerMatthias Sohn2010-10-19 22:42:27 +0000
commit0afe023665d9d2536773a9a10be65b0ea1779cb8 (patch)
treec4d0d3a2b207a1eae6a41216f45b0ce3587d913e /org.eclipse.egit.ui/src/org
parent989bfc4c0f426ce9dfbf7a42cdadeb69616c8c21 (diff)
downloadegit-0afe023665d9d2536773a9a10be65b0ea1779cb8.tar.gz
egit-0afe023665d9d2536773a9a10be65b0ea1779cb8.tar.xz
egit-0afe023665d9d2536773a9a10be65b0ea1779cb8.zip
Simplify PullResultDialog in case of "already up-to-date"
If fetch and/or merge was not needed during a pull, we shouldn't bother the end user with the complex tables, but simply display a message indicating that everything was up-to-date. Change-Id: Iebb8d5c70b3198b78d12f2e5af29d64b7a359817 Signed-off-by: Mathias Kinzler <mathias.kinzler@sap.com> Signed-off-by: Matthias Sohn <matthias.sohn@sap.com>
Diffstat (limited to 'org.eclipse.egit.ui/src/org')
-rw-r--r--org.eclipse.egit.ui/src/org/eclipse/egit/ui/UIText.java6
-rw-r--r--org.eclipse.egit.ui/src/org/eclipse/egit/ui/internal/pull/PullResultDialog.java28
-rw-r--r--org.eclipse.egit.ui/src/org/eclipse/egit/ui/uitext.properties2
3 files changed, 33 insertions, 3 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 818b15f7ed..bb5b8c8483 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
@@ -1087,9 +1087,15 @@ public class UIText extends NLS {
public static String PullResultDialog_FetchResultGroupHeader;
/** */
+ public static String PullResultDialog_MergeAlreadyUpToDateMessage;
+
+ /** */
public static String PullResultDialog_MergeResultGroupHeader;
/** */
+ public static String PullResultDialog_NothingToFetchFromLocal;
+
+ /** */
public static String PushAction_wrongURIDescription;
/** */
diff --git a/org.eclipse.egit.ui/src/org/eclipse/egit/ui/internal/pull/PullResultDialog.java b/org.eclipse.egit.ui/src/org/eclipse/egit/ui/internal/pull/PullResultDialog.java
index 38eb0c6a8c..2ddf66adf7 100644
--- a/org.eclipse.egit.ui/src/org/eclipse/egit/ui/internal/pull/PullResultDialog.java
+++ b/org.eclipse.egit.ui/src/org/eclipse/egit/ui/internal/pull/PullResultDialog.java
@@ -15,13 +15,18 @@ import org.eclipse.egit.ui.internal.fetch.FetchResultDialog;
import org.eclipse.egit.ui.internal.merge.MergeResultDialog;
import org.eclipse.jface.dialogs.Dialog;
import org.eclipse.jface.layout.GridDataFactory;
+import org.eclipse.jgit.api.MergeResult;
import org.eclipse.jgit.api.PullResult;
+import org.eclipse.jgit.api.MergeResult.MergeStatus;
import org.eclipse.jgit.lib.Repository;
+import org.eclipse.jgit.transport.FetchResult;
+import org.eclipse.osgi.util.NLS;
import org.eclipse.swt.SWT;
import org.eclipse.swt.layout.GridLayout;
import org.eclipse.swt.widgets.Composite;
import org.eclipse.swt.widgets.Control;
import org.eclipse.swt.widgets.Group;
+import org.eclipse.swt.widgets.Label;
import org.eclipse.swt.widgets.Shell;
/**
@@ -58,12 +63,23 @@ public class PullResultDialog extends Dialog {
fetchResultGroup.setLayout(new GridLayout(1, false));
GridDataFactory.fillDefaults().grab(true, true).applyTo(
fetchResultGroup);
- if (result.getFetchResult() != null) {
+ FetchResult fRes = result.getFetchResult();
+ if (fRes != null && !fRes.getTrackingRefUpdates().isEmpty()) {
FetchResultDialog dlg = new FetchResultDialog(getParentShell(),
- repo, result.getFetchResult(), result.getFetchedFrom());
+ repo, fRes, result.getFetchedFrom());
Control fresult = dlg.createDialogArea(fetchResultGroup);
GridDataFactory.fillDefaults().grab(true, true).hint(SWT.DEFAULT,
130).applyTo(fresult);
+ } else {
+ Label noResult = new Label(fetchResultGroup, SWT.NONE);
+ if (result.getFetchedFrom().equals(".")) //$NON-NLS-1$
+ noResult
+ .setText(UIText.PullResultDialog_NothingToFetchFromLocal);
+ else
+ noResult.setText(NLS.bind(
+ UIText.FetchResultDialog_labelEmptyResult, result
+ .getFetchedFrom()));
+
}
Group mergeResultGroup = new Group(main, SWT.SHADOW_ETCHED_IN);
mergeResultGroup
@@ -71,10 +87,16 @@ public class PullResultDialog extends Dialog {
mergeResultGroup.setLayout(new GridLayout(1, false));
GridDataFactory.fillDefaults().grab(true, true).applyTo(
mergeResultGroup);
- if (result.getMergeResult() != null) {
+ MergeResult mRes = result.getMergeResult();
+ if (mRes != null
+ && mRes.getMergeStatus() != MergeStatus.ALREADY_UP_TO_DATE) {
MergeResultDialog dlg = new MergeResultDialog(getParentShell(),
repo, result.getMergeResult());
dlg.createDialogArea(mergeResultGroup);
+ } else {
+ Label noResult = new Label(mergeResultGroup, SWT.NONE);
+ noResult
+ .setText(UIText.PullResultDialog_MergeAlreadyUpToDateMessage);
}
return main;
}
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 ff312e3914..6e03094308 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
@@ -379,8 +379,10 @@ HistoryPreferencePage_title=Git
PullCurrentBranchActionHandler_PullCanceledMessage=The Pull operation was canceled
PullCurrentBranchActionHandler_PullCanceledTitle=Pull Canceled
PullCurrentBranchActionHandler_PullJobname=Pulling branch {0}
+PullResultDialog_NothingToFetchFromLocal=Nothing to fetch (the fetch source is the local Repository)
PullResultDialog_DialogTitle=Pull Result
PullResultDialog_FetchResultGroupHeader=Fetch Result
+PullResultDialog_MergeAlreadyUpToDateMessage=Nothing to merge - everything up to date
PullResultDialog_MergeResultGroupHeader=Merge Result
PushAction_wrongURIDescription=Remote repositories URIs configuration is corrupted.
PushAction_wrongURITitle=Corrupted Configuration

Back to the top