В LibGit2Sharp есть способ получить удаленный ответ при выполнении Push?
При использовании чего-то вроде командной строки git bash вы получите следующий вывод в консоли:
remote: Updating branch 'master'.
remote: Updating submodules.
remote: Preparing deployment for commit id '3fe0a458ac'.
remote: Generating deployment script.
remote: Running deployment command...
remote: Handling Basic Web Site deployment.
PushOptions
обеспечивает сборку пакета, передачу и статус ошибки во время операции Push, но в идеале я хотел бы перехватить удаленный ответ (как указано выше) и передать его клиенту. Любой способ сделать это с помощью libgit2/LibGit2Sharp?
Вот фрагмент моего действия Push с использованием LibGit2Sharp версии 0.16.0.0.
using (var repository = new Repository(sourceRepositoryPath))
{
var pushOptions = new PushOptions
{
Credentials = new Credentials { Username = remoteUser, Password = remotePassword },
OnPackBuilderProgress = (stage, current, total) =>
{
Trace.WriteLine(string.Format("Pack Building Progress {0} out of {1}, Stage {2}",
current, total, stage));
return true;
},
OnPushStatusError = errors =>
{
Trace.WriteLine(errors);
},
OnPushTransferProgress = (current, total, bytes) =>
{
Trace.WriteLine(string.Format("Transfer Progress {0} out of {1}, Bytes {2}", current, total, bytes));
return true;
}
};
string pushRefSpec = string.Format("+{0}:{0}", "refs/heads/master");
var remote = repository.Network.Remotes["origin"];
repository.Network.Push(remote, pushRefSpec, pushOptions);
}