diff options
author | Max Hohenegger | 2016-01-25 18:59:11 +0000 |
---|---|---|
committer | Max Hohenegger | 2016-02-08 18:46:17 +0000 |
commit | 450d57a48486d1011e4a0d0ee42fb52d89dcc4b4 (patch) | |
tree | 0b351caf8087be272e0b87b87980b521b011d7cb /org.eclipse.egit.gitflow.test | |
parent | 28ece38ace78f4bc8461c16b78f7138aabe8e4fe (diff) | |
download | egit-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')
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); |