Итак, я работаю с репозиторием и хочу сообщить о прогрессе клонирования, 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);
}