Eu também queria uma resposta. Tente o seguinte para produzir apenas exclusões de svn log
.
svn log --stop-on-copy --verbose [--limit <limit>] <repo Url> | \
awk '{ if ($0 ~ /^r[0-9]+/) rev = $0 }
{ if ($0 ~ /^ D /) { if (rev != "") { print rev; rev = "" }; print $0 } }'
Isso filtra a saída do log através do awk . O awk armazena em buffer cada linha de revisão que encontra, produzindo-a somente quando um registro de exclusão é encontrado. Cada revisão é emitida apenas uma vez, portanto, várias exclusões em uma revisão são agrupadas (como na svn log
saída padrão ).
Você pode especificar a --limit
para reduzir a quantidade de registros retornados. Você também pode remover o --stop-on-copy
, conforme necessário.
Sei que há queixas sobre a eficiência de analisar todo o log. Eu acho que essa é uma solução melhor do que o grep e sua opção "lançar uma ampla rede" -B
. Não sei se é mais eficiente, mas não consigo pensar em uma alternativa svn log
. É semelhante à resposta de Alex Amelkin, mas não precisa de um nome específico. Também é o meu primeiro script awk , por isso pode não ser convencional.