Formata a saída de log do SVN

3

Eu gostaria de buscar a mensagem de log para um arquivo confirmado no svn. Eu estou usando o seguinte comando atualmente:

 svn --non-interactive log "myfile.c" | sed -e "s/[\-]//g"'   

A saída é:

r42153 | sam | 2012-03-02 14:51:53 -0800 (Fri, 02 Mar 2012) | 1 line

Update to code.  

Eu gostaria de me livrar da primeira linha "r42153 | sam | ...." e mostrar apenas a mensagem de log.

Como posso fazer isso?

    
por smokinguns 10.03.2012 / 00:29

4 respostas

1

use | grep -v "what you don't want to include" para deixar de fora as linhas que você não deseja. No entanto, tentar deixar de fora qualquer coisa com \n simplesmente deixa de fora tudo, então não faça isso.

    
por 10.03.2012 / 00:41
2

Você pode jogar fora linhas úteis de suas mensagens de commit enquanto usa grep. O SVN fornece o comando propget pronto para uso:

use

$ svn propget svn:log --revprop -r R [TARGET]

para receber a mensagem de confirmação

ou

$ svn propget svn:log --revprop -r R [TARGET] --xml

para obtê-lo em XML.

TARGET é o caminho para o repositório e pode ser omitido, você está na cópia de trabalho.

    
por 09.11.2012 / 06:54
0

Você pode usar | sed -e ':a;N;$!ba;s/-\+\(\n[^\n]*\n\)\?//g' para remover todas as "---" com treir próximas linhas.

    
por 10.03.2012 / 09:21
0

Contanto que você esteja registrando uma única revisão, você pode usar

svn log -rXXXX | tail -n+4 | head -n-1

para se livrar de tudo, exceto da mensagem.

    
por 01.08.2012 / 15:12

Tags