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");
}

可以异步运行还是只能同步运行?

LibGit2Sharp反应迟钝

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"));
}