Skip to main content
aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
Diffstat (limited to 'org.eclipse.egit.ui/src/org/eclipse')
-rw-r--r--org.eclipse.egit.ui/src/org/eclipse/egit/ui/internal/fetch/FetchGerritChangePage.java13
1 files changed, 10 insertions, 3 deletions
diff --git a/org.eclipse.egit.ui/src/org/eclipse/egit/ui/internal/fetch/FetchGerritChangePage.java b/org.eclipse.egit.ui/src/org/eclipse/egit/ui/internal/fetch/FetchGerritChangePage.java
index c3dee00c2a..5ff929912c 100644
--- a/org.eclipse.egit.ui/src/org/eclipse/egit/ui/internal/fetch/FetchGerritChangePage.java
+++ b/org.eclipse.egit.ui/src/org/eclipse/egit/ui/internal/fetch/FetchGerritChangePage.java
@@ -766,14 +766,15 @@ public class FetchGerritChangePage extends WizardPage {
ChangeList list = changeRefs.get(uriCombo.getText());
if (list != null && list.isDone()) {
try {
+ Collection<Change> changes = list.get();
if (change.getPatchSetNumber() != null) {
- if (!list.get().contains(change)) {
+ if (changes == null || !changes.contains(change)) {
setErrorMessage(
UIText.FetchGerritChangePage_UnknownChangeRefMessage);
return;
}
} else {
- Change fromGerrit = findHighestPatchSet(list.get(),
+ Change fromGerrit = findHighestPatchSet(changes,
change.getChangeNumber().intValue());
if (fromGerrit == null) {
setErrorMessage(NLS.bind(
@@ -908,6 +909,9 @@ public class FetchGerritChangePage extends WizardPage {
private Change findHighestPatchSet(Collection<Change> changes,
int changeNumber) {
+ if (changes == null) {
+ return null;
+ }
// We know that the result is sorted by change and
// patch set number descending
for (Change fromGerrit : changes) {
@@ -1055,8 +1059,11 @@ public class FetchGerritChangePage extends WizardPage {
if (monitor.isCanceled()) {
throw new OperationCanceledException();
}
- return findHighestPatchSet(changes,
+ Change highest = findHighestPatchSet(changes,
originalChange.getChangeNumber().intValue());
+ if (highest != null) {
+ return highest;
+ }
}
return originalChange;
}

Back to the top