Obter detalhes de log para um número de revisão específico em um post-commit gancho com SharpSVN?
Pergunta
Eu estou tentando escrever um gancho post-commit usando SharpSVN mas não consigo descobrir como obter a informação de alterações usando SharpSVN dado o número de revisão e o caminho para o repo. Todas as ideias são muito apreciados.
Solução
Na clientes gancho você provavelmente vai querer usar o SvnLookClient que acessa diretamente o repositório. Neste exemplo (copiado de uma outra pergunta aqui) Eu também uso a classe SvnHookArguments para analisar os argumentos de gancho.
static void Main(string[] args)
{
SvnHookArguments ha;
if (!SvnHookArguments.ParseHookArguments(args, SvnHookType.PostCommit, false, out ha))
{
Console.Error.WriteLine("Invalid arguments");
Environment.Exit(1);
}
using (SvnLookClient cl = new SvnLookClient())
{
SvnChangeInfoEventArgs ci;
cl.GetChangeInfo(ha.LookOrigin, out ci);
// ci contains information on the commit e.g.
Console.WriteLine(ci.LogMessage); // Has log message
foreach(SvnChangeItem i in ci.ChangedPaths)
{
//
}
}
}
Outras dicas
Você quer que a GetLog método.
SvnRevision rev(123);
client.GetLog(uri, new SvnLogArgs(rev), out logitems); // uri is your url to the repo.
Isso pode não ser exato (sem intellisense! Como eu esperava para o código C #, sem que :(), mas seu aproximadamente o que você quer.
Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow