Skip to main content
aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorMax Hohenegger2015-09-19 12:19:11 -0400
committerMatthias Sohn2015-09-21 18:24:35 -0400
commit6e4bb5c683663313a0a714593bd90dc9bf6153ea (patch)
treebc3f22c30c879af104f9b6c2aa4364d8c5ce8ebb
parent79f53d3ad75c32fabb67587a4c56e7d2abd482b2 (diff)
downloadegit-6e4bb5c683663313a0a714593bd90dc9bf6153ea.tar.gz
egit-6e4bb5c683663313a0a714593bd90dc9bf6153ea.tar.xz
egit-6e4bb5c683663313a0a714593bd90dc9bf6153ea.zip
Added support for keeping branch after Gitflow feature finish
- added new option to API - added checkbox to feature finish dialog - added tests and UI tests Bug: 477786 Change-Id: I4e58529378c976c83b7564e817db6f7be00d0cec Signed-off-by: Max Hohenegger <eclipse@hohenegger.eu>
-rw-r--r--org.eclipse.egit.gitflow.test/src/org/eclipse/egit/gitflow/op/FeatureFinishOperationTest.java25
-rw-r--r--org.eclipse.egit.gitflow.ui/src/org/eclipse/egit/gitflow/ui/internal/UIText.java3
-rw-r--r--org.eclipse.egit.gitflow.ui/src/org/eclipse/egit/gitflow/ui/internal/actions/FeatureFinishHandler.java2
-rw-r--r--org.eclipse.egit.gitflow.ui/src/org/eclipse/egit/gitflow/ui/internal/dialogs/FinishFeatureDialog.java16
-rw-r--r--org.eclipse.egit.gitflow.ui/src/org/eclipse/egit/gitflow/ui/internal/uitext.properties1
-rw-r--r--org.eclipse.egit.gitflow/src/org/eclipse/egit/gitflow/op/FeatureFinishOperation.java12
-rw-r--r--org.eclipse.egit.gitflow/src/org/eclipse/egit/gitflow/op/GitFlowOperation.java16
-rw-r--r--org.eclipse.egit.gitflow/src/org/eclipse/egit/gitflow/op/ReleaseFinishOperation.java3
-rw-r--r--org.eclipse.egit.ui.test/src/org/eclipse/egit/ui/gitflow/AbstractGitflowHandlerTest.java7
-rw-r--r--org.eclipse.egit.ui.test/src/org/eclipse/egit/ui/gitflow/FeatureFinishKeepBranchHandlerTest.java107
-rw-r--r--org.eclipse.egit.ui.test/src/org/eclipse/egit/ui/gitflow/FeatureStartFinishHandlerTest.java10
11 files changed, 189 insertions, 13 deletions
diff --git a/org.eclipse.egit.gitflow.test/src/org/eclipse/egit/gitflow/op/FeatureFinishOperationTest.java b/org.eclipse.egit.gitflow.test/src/org/eclipse/egit/gitflow/op/FeatureFinishOperationTest.java
index bda512e31..4c63e41cc 100644
--- a/org.eclipse.egit.gitflow.test/src/org/eclipse/egit/gitflow/op/FeatureFinishOperationTest.java
+++ b/org.eclipse.egit.gitflow.test/src/org/eclipse/egit/gitflow/op/FeatureFinishOperationTest.java
@@ -9,6 +9,8 @@
package org.eclipse.egit.gitflow.op;
import static org.junit.Assert.assertEquals;
+import static org.junit.Assert.assertNotNull;
+import static org.junit.Assert.assertNull;
import static org.junit.Assert.assertTrue;
import java.io.File;
@@ -35,7 +37,7 @@ public class FeatureFinishOperationTest extends AbstractFeatureOperationTest {
assertEquals(gfRepo.getConfig().getDevelopFull(), repository.getFullBranch());
String branchName = gfRepo.getConfig().getFeatureBranchName(MY_FEATURE);
- assertEquals(null, findBranch(repository, branchName));
+ assertNull(findBranch(repository, branchName));
RevCommit developHead = gfRepo.findHead();
assertEquals(branchCommit, developHead);
@@ -90,6 +92,27 @@ public class FeatureFinishOperationTest extends AbstractFeatureOperationTest {
.getFullMessage());
}
+ @Test
+ public void testFeatureFinishKeepBranch() throws Exception {
+ Repository repository = testRepository.getRepository();
+ GitFlowRepository gfRepo = init("testFeatureFinishKeepBranch\n\nfirst commit\n");
+
+ new FeatureStartOperation(gfRepo, MY_FEATURE).execute(null);
+ addFileAndCommit("foo.txt", "testFeatureFinishKeepBranch\n\nbranch commit 1\n");
+ addFileAndCommit("bar.txt", "testFeatureFinishKeepBranch\n\nbranch commit 2\n");
+ FeatureFinishOperation featureFinishOperation = new FeatureFinishOperation(gfRepo);
+ featureFinishOperation.setKeepBranch(true);
+ featureFinishOperation.execute(null);
+ assertEquals(gfRepo.getConfig().getDevelopFull(),
+ repository.getFullBranch());
+
+ String branchName = gfRepo.getConfig().getFeatureBranchName(MY_FEATURE);
+ assertNotNull(findBranch(repository, branchName));
+
+ assertEquals(formatMergeCommitMessage(branchName) + " into develop", gfRepo.findHead()
+ .getFullMessage());
+ }
+
@Test(expected = WrongGitFlowStateException.class)
public void testFeatureFinishFail() throws Exception {
Repository repository = testRepository.getRepository();
diff --git a/org.eclipse.egit.gitflow.ui/src/org/eclipse/egit/gitflow/ui/internal/UIText.java b/org.eclipse.egit.gitflow.ui/src/org/eclipse/egit/gitflow/ui/internal/UIText.java
index cfe46cad1..06ad29477 100644
--- a/org.eclipse.egit.gitflow.ui/src/org/eclipse/egit/gitflow/ui/internal/UIText.java
+++ b/org.eclipse.egit.gitflow.ui/src/org/eclipse/egit/gitflow/ui/internal/UIText.java
@@ -214,6 +214,9 @@ public class UIText extends NLS {
public static String FeatureCheckoutHandler_cleanupDialog_text;
/** */
+ public static String FinishFeatureDialog_keepBranch;
+
+ /** */
public static String FinishFeatureDialog_squashCheck;
/** */
diff --git a/org.eclipse.egit.gitflow.ui/src/org/eclipse/egit/gitflow/ui/internal/actions/FeatureFinishHandler.java b/org.eclipse.egit.gitflow.ui/src/org/eclipse/egit/gitflow/ui/internal/actions/FeatureFinishHandler.java
index e3d95dcaf..91ca6dfc4 100644
--- a/org.eclipse.egit.gitflow.ui/src/org/eclipse/egit/gitflow/ui/internal/actions/FeatureFinishHandler.java
+++ b/org.eclipse.egit.gitflow.ui/src/org/eclipse/egit/gitflow/ui/internal/actions/FeatureFinishHandler.java
@@ -65,6 +65,7 @@ public class FeatureFinishHandler extends AbstractGitFlowHandler {
return null;
}
boolean squash = dialog.isSquash();
+ boolean keepBranch = dialog.isKeepBranch();
try {
try {
@@ -78,6 +79,7 @@ public class FeatureFinishHandler extends AbstractGitFlowHandler {
FeatureFinishOperation operation = new FeatureFinishOperation(
gfRepo);
operation.setSquash(squash);
+ operation.setKeepBranch(keepBranch);
String develop = gfRepo.getConfig().getDevelop();
JobUtil.scheduleUserWorkspaceJob(operation,
diff --git a/org.eclipse.egit.gitflow.ui/src/org/eclipse/egit/gitflow/ui/internal/dialogs/FinishFeatureDialog.java b/org.eclipse.egit.gitflow.ui/src/org/eclipse/egit/gitflow/ui/internal/dialogs/FinishFeatureDialog.java
index 1d1fb5afd..793d74fec 100644
--- a/org.eclipse.egit.gitflow.ui/src/org/eclipse/egit/gitflow/ui/internal/dialogs/FinishFeatureDialog.java
+++ b/org.eclipse.egit.gitflow.ui/src/org/eclipse/egit/gitflow/ui/internal/dialogs/FinishFeatureDialog.java
@@ -28,8 +28,12 @@ public class FinishFeatureDialog extends TitleAreaDialog {
private boolean squash;
+ private boolean keepBranch;
+
private Button squashButton;
+ private Button keepBranchButton;
+
private String featureBranch;
/**
@@ -61,6 +65,9 @@ public class FinishFeatureDialog extends TitleAreaDialog {
squashButton = new Button(container, SWT.CHECK);
squashButton.setText(UIText.FinishFeatureDialog_squashCheck);
+ keepBranchButton = new Button(container, SWT.CHECK);
+ keepBranchButton.setText(UIText.FinishFeatureDialog_keepBranch);
+
return area;
}
@@ -82,7 +89,7 @@ public class FinishFeatureDialog extends TitleAreaDialog {
private void saveInput() {
this.squash = squashButton.getSelection();
-
+ this.keepBranch = keepBranchButton.getSelection();
}
@Override
@@ -97,4 +104,11 @@ public class FinishFeatureDialog extends TitleAreaDialog {
public boolean isSquash() {
return squash;
}
+
+ /**
+ * @return Whether or not the branch should be kept after the operation is finished
+ */
+ public boolean isKeepBranch() {
+ return keepBranch;
+ }
} \ No newline at end of file
diff --git a/org.eclipse.egit.gitflow.ui/src/org/eclipse/egit/gitflow/ui/internal/uitext.properties b/org.eclipse.egit.gitflow.ui/src/org/eclipse/egit/gitflow/ui/internal/uitext.properties
index fdc7c1047..b02599cba 100644
--- a/org.eclipse.egit.gitflow.ui/src/org/eclipse/egit/gitflow/ui/internal/uitext.properties
+++ b/org.eclipse.egit.gitflow.ui/src/org/eclipse/egit/gitflow/ui/internal/uitext.properties
@@ -68,6 +68,7 @@ NameValidator_invalidName='%s' is not a valid name. None of the following charac
NameValidator_nameAlreadyExists=Name '%s' already exists
FeatureCheckoutHandler_cleanupDialog_title=Cannot Rebase Repository ''{0}''
FeatureCheckoutHandler_cleanupDialog_text=You have uncommitted changes. Either commit the changes, stash the changes, or discard the changes by resetting the current branch.
+FinishFeatureDialog_keepBranch=&Keep branch - do not delete branch after finishing the feature
FinishFeatureDialog_squashCheck=&Squash - produce a single commit from the changes in this feature
FinishFeatureDialog_title=Feature finish options
FinishFeatureDialog_setParameterForFinishing=Set options for finishing {0}.
diff --git a/org.eclipse.egit.gitflow/src/org/eclipse/egit/gitflow/op/FeatureFinishOperation.java b/org.eclipse.egit.gitflow/src/org/eclipse/egit/gitflow/op/FeatureFinishOperation.java
index ef979f383..40aa3b066 100644
--- a/org.eclipse.egit.gitflow/src/org/eclipse/egit/gitflow/op/FeatureFinishOperation.java
+++ b/org.eclipse.egit.gitflow/src/org/eclipse/egit/gitflow/op/FeatureFinishOperation.java
@@ -21,6 +21,8 @@ import org.eclipse.egit.gitflow.WrongGitFlowStateException;
public final class FeatureFinishOperation extends AbstractFeatureOperation {
private boolean squash = false;
+ private boolean keepBranch = false;
+
/**
* Finish given feautre.
*
@@ -47,7 +49,7 @@ public final class FeatureFinishOperation extends AbstractFeatureOperation {
@Override
public void execute(IProgressMonitor monitor) throws CoreException {
- finish(monitor, repository.getConfig().getFeatureBranchName(featureName), squash, true);
+ finish(monitor, repository.getConfig().getFeatureBranchName(featureName), squash, keepBranch, true);
}
/**
@@ -58,4 +60,12 @@ public final class FeatureFinishOperation extends AbstractFeatureOperation {
this.squash = squash;
}
+ /**
+ * @param keepBranch Whether or not the branch will be kept after the operation is finished
+ * @since 4.1
+ */
+ public void setKeepBranch(boolean keepBranch) {
+ this.keepBranch = keepBranch;
+ }
+
}
diff --git a/org.eclipse.egit.gitflow/src/org/eclipse/egit/gitflow/op/GitFlowOperation.java b/org.eclipse.egit.gitflow/src/org/eclipse/egit/gitflow/op/GitFlowOperation.java
index 68b74c083..fdee6d632 100644
--- a/org.eclipse.egit.gitflow/src/org/eclipse/egit/gitflow/op/GitFlowOperation.java
+++ b/org.eclipse.egit.gitflow/src/org/eclipse/egit/gitflow/op/GitFlowOperation.java
@@ -109,11 +109,12 @@ abstract public class GitFlowOperation implements IEGitOperation {
* @param branchName
* @param squash
* @param fastForwardSingleCommit Has no effect if {@code squash} is true.
+ * @param keepBranch
* @throws CoreException
* @since 4.1
*/
protected void finish(IProgressMonitor monitor, String branchName,
- boolean squash, boolean fastForwardSingleCommit)
+ boolean squash, boolean keepBranch, boolean fastForwardSingleCommit)
throws CoreException {
try {
mergeResult = mergeTo(monitor, branchName, repository.getConfig()
@@ -128,16 +129,19 @@ abstract public class GitFlowOperation implements IEGitOperation {
CoreText.GitFlowOperation_branchMissing, branchName));
}
boolean forceDelete = squash;
- new DeleteBranchOperation(repository.getRepository(), branch, forceDelete)
- .execute(monitor);
+
+ if (!keepBranch) {
+ new DeleteBranchOperation(repository.getRepository(), branch,
+ forceDelete).execute(monitor);
+ }
} catch (IOException e) {
throw new RuntimeException(e);
}
}
/**
- * Finish without squash and NO_FF for single commit branches:
- * {@link org.eclipse.egit.gitflow.op.GitFlowOperation#finish(IProgressMonitor, String, boolean, boolean)}
+ * Finish without squash, NO_FF and keep for single commit branches:
+ * {@link org.eclipse.egit.gitflow.op.GitFlowOperation#finish(IProgressMonitor, String, boolean, boolean, boolean)}
*
* @param monitor
* @param branchName
@@ -145,7 +149,7 @@ abstract public class GitFlowOperation implements IEGitOperation {
*/
protected void finish(IProgressMonitor monitor, String branchName)
throws CoreException {
- finish(monitor, branchName, false, false);
+ finish(monitor, branchName, false, false, false);
}
/**
diff --git a/org.eclipse.egit.gitflow/src/org/eclipse/egit/gitflow/op/ReleaseFinishOperation.java b/org.eclipse.egit.gitflow/src/org/eclipse/egit/gitflow/op/ReleaseFinishOperation.java
index cc10ddfc5..02fec3fb4 100644
--- a/org.eclipse.egit.gitflow/src/org/eclipse/egit/gitflow/op/ReleaseFinishOperation.java
+++ b/org.eclipse.egit.gitflow/src/org/eclipse/egit/gitflow/op/ReleaseFinishOperation.java
@@ -59,6 +59,7 @@ public final class ReleaseFinishOperation extends AbstractReleaseOperation {
safeCreateTag(monitor, repository.getConfig().getVersionTagPrefix() + versionName,
NLS.bind(CoreText.ReleaseFinishOperation_releaseOf, versionName));
- finish(monitor, releaseBranchName, false /* TODO: squash should also be supported for releases */, false);
+ finish(monitor, releaseBranchName, false /* TODO: squash should also be supported for releases */
+ , false /* TODO: keep should also be supported for releases */, false);
}
}
diff --git a/org.eclipse.egit.ui.test/src/org/eclipse/egit/ui/gitflow/AbstractGitflowHandlerTest.java b/org.eclipse.egit.ui.test/src/org/eclipse/egit/ui/gitflow/AbstractGitflowHandlerTest.java
index 4c41e6392..a52e8af58 100644
--- a/org.eclipse.egit.ui.test/src/org/eclipse/egit/ui/gitflow/AbstractGitflowHandlerTest.java
+++ b/org.eclipse.egit.ui.test/src/org/eclipse/egit/ui/gitflow/AbstractGitflowHandlerTest.java
@@ -8,6 +8,8 @@
*******************************************************************************/
package org.eclipse.egit.ui.gitflow;
+import static org.eclipse.jgit.lib.Constants.R_HEADS;
+
import java.io.File;
import java.io.IOException;
@@ -26,6 +28,7 @@ import org.eclipse.jgit.api.errors.NoHeadException;
import org.eclipse.jgit.api.errors.NoMessageException;
import org.eclipse.jgit.api.errors.UnmergedPathsException;
import org.eclipse.jgit.api.errors.WrongRepositoryStateException;
+import org.eclipse.jgit.lib.Ref;
import org.eclipse.jgit.lib.Repository;
import org.eclipse.jgit.revwalk.RevCommit;
import org.eclipse.swtbot.swt.finder.junit.SWTBotJunit4ClassRunner;
@@ -70,4 +73,8 @@ public abstract class AbstractGitflowHandlerTest extends LocalRepositoryTestCase
new FeatureCheckoutOperation(new GitFlowRepository(repository),
featureName).execute(null);
}
+
+ protected Ref findBranch(String branchName) throws IOException {
+ return repository.getRef(R_HEADS + branchName);
+ }
}
diff --git a/org.eclipse.egit.ui.test/src/org/eclipse/egit/ui/gitflow/FeatureFinishKeepBranchHandlerTest.java b/org.eclipse.egit.ui.test/src/org/eclipse/egit/ui/gitflow/FeatureFinishKeepBranchHandlerTest.java
new file mode 100644
index 000000000..947b64b58
--- /dev/null
+++ b/org.eclipse.egit.ui.test/src/org/eclipse/egit/ui/gitflow/FeatureFinishKeepBranchHandlerTest.java
@@ -0,0 +1,107 @@
+/*******************************************************************************
+ * Copyright (C) 2015, Max Hohenegger <eclipse@hohenegger.eu>
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *******************************************************************************/
+package org.eclipse.egit.ui.gitflow;
+
+import static org.eclipse.swtbot.swt.finder.waits.Conditions.shellIsActive;
+import static org.junit.Assert.assertEquals;
+import static org.junit.Assert.assertNotNull;
+
+import org.eclipse.core.runtime.CoreException;
+import org.eclipse.egit.core.op.BranchOperation;
+import org.eclipse.egit.gitflow.GitFlowRepository;
+import org.eclipse.egit.gitflow.op.InitOperation;
+import org.eclipse.egit.gitflow.ui.Activator;
+import org.eclipse.egit.gitflow.ui.internal.JobFamilies;
+import org.eclipse.egit.gitflow.ui.internal.UIText;
+import org.eclipse.egit.ui.test.ContextMenuHelper;
+import org.eclipse.egit.ui.test.TestUtil;
+import org.eclipse.jgit.revwalk.RevCommit;
+import org.eclipse.swtbot.eclipse.finder.waits.Conditions;
+import org.eclipse.swtbot.swt.finder.junit.SWTBotJunit4ClassRunner;
+import org.eclipse.swtbot.swt.finder.widgets.SWTBotTree;
+import org.eclipse.ui.PlatformUI;
+import org.junit.Test;
+import org.junit.runner.RunWith;
+
+/**
+ * Tests for the Team->Gitflow->Feature Start/Finish actions
+ */
+@RunWith(SWTBotJunit4ClassRunner.class)
+public class FeatureFinishKeepBranchHandlerTest extends AbstractGitflowHandlerTest {
+
+ @Test
+ public void testFeatureFinishKeepBranch() throws Exception {
+ init();
+
+ setContentAddAndCommit("bar");
+
+ createFeature(FEATURE_NAME);
+ RevCommit featureBranchCommit = setContentAddAndCommit("foo");
+
+ checkoutBranch(DEVELOP);
+
+ checkoutFeature(FEATURE_NAME);
+
+ finishFeature();
+
+ GitFlowRepository gfRepo = new GitFlowRepository(repository);
+ RevCommit developHead = gfRepo.findHead();
+ assertEquals(developHead, featureBranchCommit);
+
+ assertNotNull(findBranch(gfRepo.getConfig().getFeatureBranchName(FEATURE_NAME)));
+ }
+
+ private void finishFeature() {
+ final SWTBotTree projectExplorerTree = TestUtil.getExplorerTree();
+ getProjectItem(projectExplorerTree, PROJ1).select();
+ final String[] menuPath = new String[] {
+ util.getPluginLocalizedValue("TeamMenu.label"),
+ util.getPluginLocalizedValue("TeamGitFlowMenu.name", false, Activator.getDefault().getBundle()),
+ util.getPluginLocalizedValue("TeamGitFlowFeatureFinish.name", false, Activator.getDefault().getBundle()) };
+ PlatformUI.getWorkbench().getDisplay().asyncExec(new Runnable() {
+ @Override
+ public void run() {
+ ContextMenuHelper.clickContextMenuSync(projectExplorerTree, menuPath);
+ }
+ });
+ bot.checkBox(UIText.FinishFeatureDialog_keepBranch).click();
+ bot.button("OK").click();
+ bot.waitUntil(Conditions.waitForJobs(JobFamilies.GITFLOW_FAMILY, "Git flow jobs"));
+ }
+
+ private void init() throws CoreException {
+ new InitOperation(repository).execute(null);
+ }
+
+ @Override
+ public void checkoutFeature(String featureName) {
+ final SWTBotTree projectExplorerTree = TestUtil.getExplorerTree();
+ getProjectItem(projectExplorerTree, PROJ1).select();
+ final String[] menuPath = new String[] {
+ util.getPluginLocalizedValue("TeamMenu.label"),
+ util.getPluginLocalizedValue("TeamGitFlowMenu.name", false, Activator.getDefault().getBundle()),
+ util.getPluginLocalizedValue("TeamGitFlowFeatureCheckout.name", false, Activator.getDefault().getBundle()) };
+
+ PlatformUI.getWorkbench().getDisplay().asyncExec(new Runnable() {
+ @Override
+ public void run() {
+ ContextMenuHelper.clickContextMenuSync(projectExplorerTree, menuPath);
+ }
+ });
+
+ bot.waitUntil(shellIsActive(UIText.FeatureCheckoutHandler_selectFeature));
+ bot.table().select(featureName);
+ bot.button("OK").click();
+ bot.waitUntil(Conditions.waitForJobs(JobFamilies.GITFLOW_FAMILY, "Git flow jobs"));
+ }
+
+ private void checkoutBranch(String branchToCheckout) throws CoreException {
+ new BranchOperation(repository, branchToCheckout).execute(null);
+ }
+}
diff --git a/org.eclipse.egit.ui.test/src/org/eclipse/egit/ui/gitflow/FeatureStartFinishHandlerTest.java b/org.eclipse.egit.ui.test/src/org/eclipse/egit/ui/gitflow/FeatureStartFinishHandlerTest.java
index 857e9923e..0e640c31b 100644
--- a/org.eclipse.egit.ui.test/src/org/eclipse/egit/ui/gitflow/FeatureStartFinishHandlerTest.java
+++ b/org.eclipse.egit.ui.test/src/org/eclipse/egit/ui/gitflow/FeatureStartFinishHandlerTest.java
@@ -8,7 +8,9 @@
*******************************************************************************/
package org.eclipse.egit.ui.gitflow;
+import static org.eclipse.swtbot.swt.finder.waits.Conditions.shellIsActive;
import static org.junit.Assert.assertEquals;
+import static org.junit.Assert.assertNull;
import org.eclipse.core.runtime.CoreException;
import org.eclipse.egit.core.op.BranchOperation;
@@ -20,9 +22,8 @@ import org.eclipse.egit.gitflow.ui.internal.UIText;
import org.eclipse.egit.ui.test.ContextMenuHelper;
import org.eclipse.egit.ui.test.TestUtil;
import org.eclipse.jgit.revwalk.RevCommit;
-import org.eclipse.swtbot.swt.finder.junit.SWTBotJunit4ClassRunner;
-import static org.eclipse.swtbot.swt.finder.waits.Conditions.shellIsActive;
import org.eclipse.swtbot.eclipse.finder.waits.Conditions;
+import org.eclipse.swtbot.swt.finder.junit.SWTBotJunit4ClassRunner;
import org.eclipse.swtbot.swt.finder.widgets.SWTBotTree;
import org.eclipse.ui.PlatformUI;
import org.junit.Test;
@@ -49,8 +50,11 @@ public class FeatureStartFinishHandlerTest extends AbstractGitflowHandlerTest {
finishFeature();
- RevCommit developHead = new GitFlowRepository(repository).findHead();
+ GitFlowRepository gfRepo = new GitFlowRepository(repository);
+ RevCommit developHead = gfRepo.findHead();
assertEquals(developHead, featureBranchCommit);
+
+ assertNull(findBranch(gfRepo.getConfig().getFeatureBranchName(FEATURE_NAME)));
}
private void finishFeature() {

Back to the top