diff --git a/src/Commands/GitFlow.cs b/src/Commands/GitFlow.cs
index b33b623c..708bb900 100644
--- a/src/Commands/GitFlow.cs
+++ b/src/Commands/GitFlow.cs
@@ -50,16 +50,17 @@ namespace SourceGit.Commands {
Exec();
}
- public void Finish(Models.GitFlowBranchType type, string name) {
+ public void Finish(Models.GitFlowBranchType type, string name, bool keepBranch) {
+ var option = keepBranch ? "-k" : string.Empty;
switch (type) {
case Models.GitFlowBranchType.Feature:
- Args = $"flow feature finish {name}";
+ Args = $"flow feature finish {option} {name}";
break;
case Models.GitFlowBranchType.Release:
- Args = $"flow release finish {name}";
+ Args = $"flow release finish {option} {name}";
break;
case Models.GitFlowBranchType.Hotfix:
- Args = $"flow hotfix finish {name}";
+ Args = $"flow hotfix finish {option} {name}";
break;
default:
return;
diff --git a/src/Resources/Locales/en_US.xaml b/src/Resources/Locales/en_US.xaml
index 5f0cc5cd..9c3b4aa2 100644
--- a/src/Resources/Locales/en_US.xaml
+++ b/src/Resources/Locales/en_US.xaml
@@ -151,6 +151,7 @@
{0} prefix is required.
{0} contains invalid characters.
Development branch is same with production!
+ Keep branch
Refresh
Bookmark
diff --git a/src/Resources/Locales/zh_CN.xaml b/src/Resources/Locales/zh_CN.xaml
index 641ce5ec..f2453658 100644
--- a/src/Resources/Locales/zh_CN.xaml
+++ b/src/Resources/Locales/zh_CN.xaml
@@ -151,6 +151,7 @@
{0}前缀未填写!
{0}前缀包含非法字符!
开发分支与发布分支不可相同!
+ 保留分支
刷新
书签
diff --git a/src/Views/Popups/GitFlowFinish.xaml b/src/Views/Popups/GitFlowFinish.xaml
index 385712c0..46139990 100644
--- a/src/Views/Popups/GitFlowFinish.xaml
+++ b/src/Views/Popups/GitFlowFinish.xaml
@@ -10,6 +10,7 @@
+
@@ -31,5 +32,17 @@
Grid.Row="0" Grid.Column="2"
Margin="4,0,0,0"
x:Name="txtName"/>
+
+
diff --git a/src/Views/Popups/GitFlowFinish.xaml.cs b/src/Views/Popups/GitFlowFinish.xaml.cs
index 80df294c..da67160f 100644
--- a/src/Views/Popups/GitFlowFinish.xaml.cs
+++ b/src/Views/Popups/GitFlowFinish.xaml.cs
@@ -46,9 +46,11 @@ namespace SourceGit.Views.Popups {
}
public override Task Start() {
+ var keepBranch = chkKeep.IsChecked == true;
+
return Task.Run(() => {
Models.Watcher.SetEnabled(repo, false);
- new Commands.GitFlow(repo).Finish(type, name);
+ new Commands.GitFlow(repo).Finish(type, name, keepBranch);
Models.Watcher.SetEnabled(repo, true);
return true;
});