Skip to main content
aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorMax Hohenegger2015-09-28 10:14:04 +0000
committerMatthias Sohn2015-10-02 22:42:17 +0000
commite26af070e303d33ddd63026b22e110bc961f48ae (patch)
tree3e12b1b6f481a13ba434e0e64edaabe7678b78fa
parent6a0dddb65bb0fca5a6e001493029c3a67d72e81a (diff)
downloadegit-e26af070e303d33ddd63026b22e110bc961f48ae.tar.gz
egit-e26af070e303d33ddd63026b22e110bc961f48ae.tar.xz
egit-e26af070e303d33ddd63026b22e110bc961f48ae.zip
Fix violations of nullable annotation
- GitFlowRepository.findHead() may return null - amends commit fcb1b730f76867864c420beabe7dbbd57e9b33f7 Change-Id: I3a07f1b56b2ab9fd62a92e2ea43d3aa673bf3e09 Signed-off-by: Max Hohenegger <eclipse@hohenegger.eu> Signed-off-by: Matthias Sohn <matthias.sohn@sap.com>
-rw-r--r--org.eclipse.egit.gitflow/src/org/eclipse/egit/gitflow/internal/CoreText.java2
-rw-r--r--org.eclipse.egit.gitflow/src/org/eclipse/egit/gitflow/internal/coretext.properties2
-rw-r--r--org.eclipse.egit.gitflow/src/org/eclipse/egit/gitflow/op/FeatureStartOperation.java5
-rw-r--r--org.eclipse.egit.gitflow/src/org/eclipse/egit/gitflow/op/HotfixStartOperation.java14
-rw-r--r--org.eclipse.egit.gitflow/src/org/eclipse/egit/gitflow/op/ReleaseStartOperation.java9
5 files changed, 23 insertions, 9 deletions
diff --git a/org.eclipse.egit.gitflow/src/org/eclipse/egit/gitflow/internal/CoreText.java b/org.eclipse.egit.gitflow/src/org/eclipse/egit/gitflow/internal/CoreText.java
index 24df273d27..71bb85b61b 100644
--- a/org.eclipse.egit.gitflow/src/org/eclipse/egit/gitflow/internal/CoreText.java
+++ b/org.eclipse.egit.gitflow/src/org/eclipse/egit/gitflow/internal/CoreText.java
@@ -98,6 +98,6 @@ public class CoreText extends NLS {
public static String ReleaseStartOperation_releaseNameAlreadyExists;
/** */
- public static String ReleaseStartOperation_unableToFindCommit;
+ public static String StartOperation_unableToFindCommitFor;
}
diff --git a/org.eclipse.egit.gitflow/src/org/eclipse/egit/gitflow/internal/coretext.properties b/org.eclipse.egit.gitflow/src/org/eclipse/egit/gitflow/internal/coretext.properties
index f031c54008..12caacb7d3 100644
--- a/org.eclipse.egit.gitflow/src/org/eclipse/egit/gitflow/internal/coretext.properties
+++ b/org.eclipse.egit.gitflow/src/org/eclipse/egit/gitflow/internal/coretext.properties
@@ -29,4 +29,4 @@ InitOperation_localMasterDoesNotExist=Local branch ''{0}'' does not exist.
ReleaseFinishOperation_releaseOf=Release of {0}
ReleaseStartOperation_notOn=Not on {0}
ReleaseStartOperation_releaseNameAlreadyExists=The release name '%s' already exists.
-ReleaseStartOperation_unableToFindCommit=Unable to find commit {0}
+StartOperation_unableToFindCommitFor=Unable to find commit for {0}
diff --git a/org.eclipse.egit.gitflow/src/org/eclipse/egit/gitflow/op/FeatureStartOperation.java b/org.eclipse.egit.gitflow/src/org/eclipse/egit/gitflow/op/FeatureStartOperation.java
index 95cf41f46c..6cc87ae13f 100644
--- a/org.eclipse.egit.gitflow/src/org/eclipse/egit/gitflow/op/FeatureStartOperation.java
+++ b/org.eclipse.egit.gitflow/src/org/eclipse/egit/gitflow/op/FeatureStartOperation.java
@@ -13,7 +13,9 @@ import org.eclipse.core.runtime.IProgressMonitor;
import org.eclipse.core.runtime.jobs.ISchedulingRule;
import org.eclipse.egit.gitflow.GitFlowConfig;
import org.eclipse.egit.gitflow.GitFlowRepository;
+import org.eclipse.egit.gitflow.internal.CoreText;
import org.eclipse.jgit.revwalk.RevCommit;
+import org.eclipse.osgi.util.NLS;
/**
* git flow feature start
@@ -33,6 +35,9 @@ public final class FeatureStartOperation extends AbstractFeatureOperation {
GitFlowConfig config = repository.getConfig();
String branchName = config.getFeatureBranchName(featureName);
RevCommit head = repository.findHead(config.getDevelop());
+ if (head == null) {
+ throw new IllegalStateException(NLS.bind(CoreText.StartOperation_unableToFindCommitFor, config.getDevelop()));
+ }
start(monitor, branchName, head);
}
diff --git a/org.eclipse.egit.gitflow/src/org/eclipse/egit/gitflow/op/HotfixStartOperation.java b/org.eclipse.egit.gitflow/src/org/eclipse/egit/gitflow/op/HotfixStartOperation.java
index ebd84798ae..6d9b9d3f3a 100644
--- a/org.eclipse.egit.gitflow/src/org/eclipse/egit/gitflow/op/HotfixStartOperation.java
+++ b/org.eclipse.egit.gitflow/src/org/eclipse/egit/gitflow/op/HotfixStartOperation.java
@@ -11,7 +11,11 @@ package org.eclipse.egit.gitflow.op;
import org.eclipse.core.runtime.CoreException;
import org.eclipse.core.runtime.IProgressMonitor;
import org.eclipse.core.runtime.jobs.ISchedulingRule;
+import org.eclipse.egit.gitflow.GitFlowConfig;
import org.eclipse.egit.gitflow.GitFlowRepository;
+import org.eclipse.egit.gitflow.internal.CoreText;
+import org.eclipse.jgit.revwalk.RevCommit;
+import org.eclipse.osgi.util.NLS;
/**
* git flow hotfix start
@@ -27,9 +31,13 @@ public final class HotfixStartOperation extends AbstractHotfixOperation {
@Override
public void execute(IProgressMonitor monitor) throws CoreException {
- String branchName = repository.getConfig().getHotfixBranchName(versionName);
-
- start(monitor, branchName, repository.findHead(repository.getConfig().getMaster()));
+ GitFlowConfig config = repository.getConfig();
+ String branchName = config.getHotfixBranchName(versionName);
+ RevCommit head = repository.findHead(config.getMaster());
+ if (head == null) {
+ throw new IllegalStateException(NLS.bind(CoreText.StartOperation_unableToFindCommitFor, config.getDevelop()));
+ }
+ start(monitor, branchName, head);
}
@Override
diff --git a/org.eclipse.egit.gitflow/src/org/eclipse/egit/gitflow/op/ReleaseStartOperation.java b/org.eclipse.egit.gitflow/src/org/eclipse/egit/gitflow/op/ReleaseStartOperation.java
index 22d3d6d884..734d6d686b 100644
--- a/org.eclipse.egit.gitflow/src/org/eclipse/egit/gitflow/op/ReleaseStartOperation.java
+++ b/org.eclipse.egit.gitflow/src/org/eclipse/egit/gitflow/op/ReleaseStartOperation.java
@@ -23,7 +23,6 @@ import org.eclipse.egit.gitflow.GitFlowConfig;
import org.eclipse.egit.gitflow.GitFlowRepository;
import org.eclipse.egit.gitflow.WrongGitFlowStateException;
import org.eclipse.egit.gitflow.internal.CoreText;
-import org.eclipse.jdt.annotation.Nullable;
import org.eclipse.jgit.errors.AmbiguousObjectException;
import org.eclipse.jgit.errors.IncorrectObjectTypeException;
import org.eclipse.jgit.errors.RevisionSyntaxException;
@@ -85,7 +84,7 @@ public final class ReleaseStartOperation extends AbstractReleaseOperation {
RevCommit commit = repository.findCommit(startCommitSha1);
if (commit == null) {
- throw new IllegalStateException(NLS.bind(CoreText.ReleaseStartOperation_unableToFindCommit, startCommitSha1));
+ throw new IllegalStateException(NLS.bind(CoreText.StartOperation_unableToFindCommitFor, startCommitSha1));
}
start(monitor, branchName, commit);
}
@@ -122,10 +121,12 @@ public final class ReleaseStartOperation extends AbstractReleaseOperation {
}
}
- @Nullable
private static String findHead(GitFlowRepository repository) {
GitFlowConfig config = repository.getConfig();
RevCommit head = repository.findHead(config.getDevelop());
- return head == null ? null : head.getName();
+ if (head == null) {
+ throw new IllegalStateException(NLS.bind(CoreText.StartOperation_unableToFindCommitFor, config.getDevelop()));
+ }
+ return head.getName();
}
}

Back to the top