diff options
author | Max Hohenegger | 2015-09-19 16:19:11 +0000 |
---|---|---|
committer | Matthias Sohn | 2015-09-21 22:24:35 +0000 |
commit | 6e4bb5c683663313a0a714593bd90dc9bf6153ea (patch) | |
tree | bc3f22c30c879af104f9b6c2aa4364d8c5ce8ebb /org.eclipse.egit.gitflow.ui/src/org/eclipse/egit/gitflow | |
parent | 79f53d3ad75c32fabb67587a4c56e7d2abd482b2 (diff) | |
download | egit-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')
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}. |