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