Skip to main content
aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorMax Hohenegger2015-09-19 16:19:11 +0000
committerMatthias Sohn2015-09-21 22:24:35 +0000
commit6e4bb5c683663313a0a714593bd90dc9bf6153ea (patch)
treebc3f22c30c879af104f9b6c2aa4364d8c5ce8ebb /org.eclipse.egit.gitflow.ui/src/org/eclipse/egit/gitflow
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>
Diffstat (limited to 'org.eclipse.egit.gitflow.ui/src/org/eclipse/egit/gitflow')
-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
4 files changed, 21 insertions, 1 deletions
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 cfe46cad11..06ad294776 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 e3d95dcaf8..91ca6dfc4e 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 1d1fb5afdd..793d74fec2 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 fdc7c1047f..b02599cbab 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}.

Back to the top