Я сам хотел получить ответ. Попробуйте следующее для вывода только удаляет из 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 } }'
Это фильтрует вывод журнала через awk . awk буферизует каждую найденную строку ревизии, выводя ее только тогда, когда найдена удаляемая запись. Каждая ревизия выводится только один раз, поэтому несколько удалений в ревизии группируются (как в стандартном варианте).svn log выводе).
Вы можете указать, --limitчтобы уменьшить количество возвращаемых записей. Вы также можете удалить--stop-on-copy , по мере необходимости.
Я знаю, что есть жалобы на эффективность разбора всего журнала. Я думаю, что это лучшее решение, чем grep и его -Bопция «бросить широкую сеть» . Я не знаю, является ли это более эффективным, но я не могу придумать альтернативу svn log. Это похоже на ответ @Alexander Amelkin, но не требует конкретного имени. Это также мой первый скрипт на awk , поэтому он может быть нетрадиционным.