diff options
author | Mathias Kinzler | 2010-10-19 22:42:27 +0000 |
---|---|---|
committer | Matthias Sohn | 2010-10-19 22:42:27 +0000 |
commit | 0afe023665d9d2536773a9a10be65b0ea1779cb8 (patch) | |
tree | c4d0d3a2b207a1eae6a41216f45b0ce3587d913e /org.eclipse.egit.ui/src/org | |
parent | 989bfc4c0f426ce9dfbf7a42cdadeb69616c8c21 (diff) | |
download | egit-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')
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 |