diff options
author | Max Hohenegger | 2015-09-28 10:14:04 +0000 |
---|---|---|
committer | Matthias Sohn | 2015-10-02 22:42:17 +0000 |
commit | e26af070e303d33ddd63026b22e110bc961f48ae (patch) | |
tree | 3e12b1b6f481a13ba434e0e64edaabe7678b78fa | |
parent | 6a0dddb65bb0fca5a6e001493029c3a67d72e81a (diff) | |
download | egit-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>
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(); } } |