Как сообщить о прогрессе с помощью LibGit2Sharp в интерфейс Mahapps.Metro с помощью ProgressDialog - PullRequest
0 голосов
/ 09 мая 2020

Итак, я работаю с репозиторием и хочу сообщить о прогрессе клонирования, pu sh или извлечения LibGit2Sharp в интерфейс Mahapps.Metro ProgressDialog.

В LibGit2Sharp есть опция pull для записи прогресса в файл. Но мне нужно показать в интерфейсе процент выполнения программы.

        using(var repo = new Repository("path/to/your/repo"))
         {
            // Credential information to fetch
            PullOptions options = new PullOptions();
            options.FetchOptions = new FetchOptions();
            options.MergeOptions = new MergeOptions();
            options.MergeOptions.CommitOnSuccess = true;
            options.MergeOptions.OnCheckoutProgress("",0,100);
            options.FetchOptions.CredentialsProvider = new CredentialsHandler(
                (url, usernameFromUrl, types) =>
                    new UsernamePasswordCredentials()
                    {
                        Username = username,
                        Password = password
                    });

            // User information to create a merge commit
            var signature = new Signature(
                new Identity(username, email), DateTimeOffset.Now);

            // Pull
            Commands.Pull(repo, signature, options);
        }
...