feature: supports to de-initialize a submodule (#1272)

Signed-off-by: leo <longshuang@msn.cn>
This commit is contained in:
leo 2025-05-21 20:34:33 +08:00
parent 1fef7a7baa
commit b0c0c46441
No known key found for this signature in database
9 changed files with 139 additions and 13 deletions

View file

@ -0,0 +1,45 @@
using System.Threading.Tasks;
namespace SourceGit.ViewModels
{
public class DeinitSubmodule : Popup
{
public string Submodule
{
get;
private set;
}
public bool Force
{
get;
set;
}
public DeinitSubmodule(Repository repo, string submodule)
{
_repo = repo;
Submodule = submodule;
Force = false;
}
public override Task<bool> Sure()
{
_repo.SetWatcherEnabled(false);
ProgressDescription = "De-initialize Submodule";
var log = _repo.CreateLog("De-initialize Submodule");
Use(log);
return Task.Run(() =>
{
var succ = new Commands.Submodule(_repo.FullPath).Use(log).Deinit(Submodule, false);
log.Complete();
CallUIThread(() => _repo.SetWatcherEnabled(true));
return succ;
});
}
private Repository _repo;
}
}