Como posso ver as alterações feitas após uma revisão está comprometida e analisá-lo para comentários?
Pergunta
Eu estava esperando para automatizar algumas tarefas relacionadas ao Subversion, então eu tenho SharpSvn. Infelizmente eu não posso encontrar muita documentação para ele.
Eu quero ser capaz de ver as mudanças depois que um usuário comete uma nova revisão para que eu possa analisar o código para comentários especiais que podem então ser enviados para o meu sistema de bilhete.
Solução
Se você quiser apenas para navegar SharpSvn você pode usar http://docs.sharpsvn.net/ . A documentação não está longe de ser completa, o foco está principalmente no fornecimento de recursos. Qualquer ajuda em melhorar a documentação (ou a própria SharpSvn) é bem-vindo; -)
Para usar mensagens de log para o seu issue tracker você pode usar duas rotas:
- Um gancho post-commit que os processos muda um de cada vez
- Um serviço agendada que 'svn log -r <última recuperado>: CABEÇA' chamadas. De vez em quando
A última compilações diárias de SharpSvn tem algum suporte para cometer ganchos, mas essa parte não é realmente api-estável ainda.
Você poderia criar um post cometer gancho (pós-commit.exe) com:
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)
{
//
}
}
}
(Para uma solução completa você também teria que ligar o pós-revprop-change, como os usuários podem alterar a mensagem de log após o primeiro commit)
Outras dicas
É este de alguma utilidade?
http://blogs.open.collab.net /svn/2008/04/sharpsvn-brings.html
Gostaria de saber se ganchos de subversão (no servidor SVN) pode não ser uma outra abordagem aqui? Eu não tentei, mas CaptainHook parece oferecer svn -..> integração gancho NET