Простой ответ - нет простого способа сделать это. Лучший, самый правильный способ - написать собственный svn-клиент (или расширить существующий), чтобы он обладал необходимыми вам функциями. Вряд ли тривиально.
Существует также неправильный способ сделать это, который также включает в себя написание кода. Не делай этого :
find . -type f | grep -v .svn | xargs svn blame > line_data
find . -type f | grep -v .svn | xargs svn --xml blame > xml_data
Вы можете написать две команды svn
вместе, чтобы избежать запуска find
дважды, но это все равно будет мучительно медленным. Чтобы добавить оскорбление к травме, вам нужно будет самостоятельно проанализировать два файла, чтобы добавить фактические исходные строки в данные XML.
К сожалению, я думаю, что это степень поддержки того, что вы хотите со стандартным клиентом SVN, и я не могу найти других клиентов, которые делают вещи лучше (некоторые даже не поддерживают blame
).