Skip to main content
aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorMax Hohenegger2016-01-25 18:59:11 +0000
committerMax Hohenegger2016-02-08 18:46:17 +0000
commit450d57a48486d1011e4a0d0ee42fb52d89dcc4b4 (patch)
tree0b351caf8087be272e0b87b87980b521b011d7cb /org.eclipse.egit.gitflow.test
parent28ece38ace78f4bc8461c16b78f7138aabe8e4fe (diff)
downloadegit-450d57a48486d1011e4a0d0ee42fb52d89dcc4b4.tar.gz
egit-450d57a48486d1011e4a0d0ee42fb52d89dcc4b4.tar.xz
egit-450d57a48486d1011e4a0d0ee42fb52d89dcc4b4.zip
Fixed enablement of Gitflow command for creating release from commit
Enable the "Start release from...", available in the History views Gitflow submenu, only if the currently selected commit is on the develop branch. http://nvie.com/posts/a-successful-git-branching-model/#release-branches Change-Id: I6f0213b2b57f11b9833be979cbf0b3ca98c93f11 Signed-off-by: Max Hohenegger <eclipse@hohenegger.eu>
Diffstat (limited to 'org.eclipse.egit.gitflow.test')
-rw-r--r--org.eclipse.egit.gitflow.test/src/org/eclipse/egit/gitflow/GitFlowRepositoryTest.java26
-rw-r--r--org.eclipse.egit.gitflow.test/src/org/eclipse/egit/gitflow/op/AbstractDualRepositoryTestCase.java4
2 files changed, 29 insertions, 1 deletions
diff --git a/org.eclipse.egit.gitflow.test/src/org/eclipse/egit/gitflow/GitFlowRepositoryTest.java b/org.eclipse.egit.gitflow.test/src/org/eclipse/egit/gitflow/GitFlowRepositoryTest.java
index aacd37c104..c4afd6e0be 100644
--- a/org.eclipse.egit.gitflow.test/src/org/eclipse/egit/gitflow/GitFlowRepositoryTest.java
+++ b/org.eclipse.egit.gitflow.test/src/org/eclipse/egit/gitflow/GitFlowRepositoryTest.java
@@ -30,6 +30,7 @@ import org.eclipse.egit.gitflow.op.ReleaseFinishOperation;
import org.eclipse.egit.gitflow.op.ReleaseStartOperation;
import org.eclipse.jgit.lib.Ref;
import org.eclipse.jgit.lib.Repository;
+import org.eclipse.jgit.revwalk.RevCommit;
import org.junit.Test;
public class GitFlowRepositoryTest extends AbstractDualRepositoryTestCase {
@@ -139,4 +140,29 @@ public class GitFlowRepositoryTest extends AbstractDualRepositoryTestCase {
assertEquals(MY_FEATURE, gfRepo.getFeatureBranchName(actualFeatureRef));
}
+
+ @Test
+ public void testIsOnDevelop() throws Exception {
+ Repository repository = repository1.getRepository();
+ GitFlowRepository gfRepo = new GitFlowRepository(repository);
+
+ InitParameters initParameters = new InitParameters();
+ initParameters.setDevelop(DEVELOP);
+ initParameters.setMaster(GitFlowDefaults.MASTER);
+ initParameters.setFeature(FEATURE_PREFIX);
+ initParameters.setRelease(RELEASE_PREFIX);
+ initParameters.setHotfix(HOTFIX_PREFIX);
+ initParameters.setVersionTag(VERSION_TAG);
+ repository1.checkoutBranch(gfRepo.getConfig().getDevelop());
+
+ RevCommit developBranchCommit = repository1.commit("develop branch commit");
+ assertTrue(gfRepo.isOnDevelop(developBranchCommit));
+
+ new FeatureStartOperation(gfRepo, MY_FEATURE).execute(null);
+ RevCommit featureBranchCommit = repository1.commit("feature branch commit");
+ assertFalse(gfRepo.isOnDevelop(featureBranchCommit));
+
+ // the initial commit was made on master, but is also on develop
+ assertTrue(gfRepo.isOnDevelop(initialCommit));
+ }
}
diff --git a/org.eclipse.egit.gitflow.test/src/org/eclipse/egit/gitflow/op/AbstractDualRepositoryTestCase.java b/org.eclipse.egit.gitflow.test/src/org/eclipse/egit/gitflow/op/AbstractDualRepositoryTestCase.java
index 438189c92a..ded616e8a8 100644
--- a/org.eclipse.egit.gitflow.test/src/org/eclipse/egit/gitflow/op/AbstractDualRepositoryTestCase.java
+++ b/org.eclipse.egit.gitflow.test/src/org/eclipse/egit/gitflow/op/AbstractDualRepositoryTestCase.java
@@ -50,6 +50,8 @@ public class AbstractDualRepositoryTestCase extends DualRepositoryTestCase {
String projectName = "FeaturePublishTest";
+ protected RevCommit initialCommit;
+
@Override
@Before
public void beforeTestCase() throws Exception {
@@ -58,7 +60,7 @@ public class AbstractDualRepositoryTestCase extends DualRepositoryTestCase {
repository1 = new TestRepository(new File(workdir, DOT_GIT));
- repository1.createInitialCommit("setUp");
+ initialCommit = repository1.createInitialCommit("setUp");
Repository repository = repository1.getRepository();
new InitOperation(repository).execute(null);

Back to the top