LibGit2Sharp反应迟钝
本文关键字:反应迟钝 LibGit2Sharp | 更新日期: 2023-09-27 18:18:28
我一直在寻找一种方法,使我的git文件拉,但不是松散的响应我的启动器。我已经完成了异步阅读,我不确定这是否可行。现在我有
private void Install() {
Repository.Clone("Myrepourl", "Localinstall");
}
这是一个相当大的信息拉,所以我想给他们更新,因为它从Rep移动,因为它从4个repos我总共有。即
private void Install() {
Repository.Clone("url", "local");
installstatus.Text = "Pulling next repo";
Repository.Clone("url", "local");
}
可以异步运行还是只能同步运行?
在TransferProgress
事件的Task
中运行Clone
是我的方法。
任务型控制台示例:
class MainClass
{
public static void Main(string[] args)
{
Task.Run(() =>
{
Repository.Clone("https://github.com/sushihangover/SVGKit.Binding", Path.Combine(Path.GetTempPath(), "foobar"),
new CloneOptions { OnTransferProgress = MainClass.TransferProgress });
}).Wait();
}
public static bool TransferProgress(TransferProgress progress)
{
Console.WriteLine($"Objects: {progress.ReceivedObjects} of {progress.TotalObjects}, Bytes: {progress.ReceivedBytes}");
return true;
}
}
我做了什么
private async void Install() {
Repository.Clone("url", "local");
installstatus.Text = "Pulling next repo";
await Task.Run(() => Repository.Clone("url", "local"));
}