mirror of
https://fastgit.cc/github.com/sourcegit-scm/sourcegit
synced 2026-04-24 10:50:52 +08:00
feature<Merge>: show progress for merge
This commit is contained in:
@@ -1,12 +1,21 @@
|
||||
using System;
|
||||
|
||||
namespace SourceGit.Commands {
|
||||
/// <summary>
|
||||
/// 合并分支
|
||||
/// </summary>
|
||||
public class Merge : Command {
|
||||
private Action<string> handler = null;
|
||||
|
||||
public Merge(string repo, string source, string mode) {
|
||||
public Merge(string repo, string source, string mode, Action<string> onProgress) {
|
||||
Cwd = repo;
|
||||
Args = $"merge {source} {mode}";
|
||||
Args = $"merge --progress {source} {mode}";
|
||||
TraitErrorAsOutput = true;
|
||||
handler = onProgress;
|
||||
}
|
||||
|
||||
public override void OnReadline(string line) {
|
||||
handler?.Invoke(line);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -26,7 +26,7 @@ namespace SourceGit.Views.Popups {
|
||||
var mode = (cmbMode.SelectedItem as Models.MergeOption).Arg;
|
||||
return Task.Run(() => {
|
||||
Models.Watcher.SetEnabled(repo, false);
|
||||
new Commands.Merge(repo, source, mode).Exec();
|
||||
new Commands.Merge(repo, source, mode, UpdateProgress).Exec();
|
||||
Models.Watcher.SetEnabled(repo, true);
|
||||
return true;
|
||||
});
|
||||
|
||||
Reference in New Issue
Block a user