Como posso ver as alterações feitas após uma revisão está comprometida e analisá-lo para comentários?

StackOverflow https://stackoverflow.com/questions/293582

  •  08-07-2019
  •  | 
  •  

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.

Foi útil?

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:

  1. Um gancho post-commit que os processos muda um de cada vez
  2. 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

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

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top