Я ищу эффективный способ получить список уникальных авторов коммитов для репозитория SVN в целом или для заданного пути к ресурсу. Мне не удалось найти команду SVN специально для этого (и не ожидаю ее), но я надеюсь, что может быть лучший способ, чем то, что я пробовал до сих пор в Терминале (в OS X):
svn log --quiet | grep "^r" | awk '{print $3}'
svn log --quiet --xml | grep author | sed -E "s:</?author>::g"
Любой из них даст мне по одному имени автора в строке, но оба требуют отфильтровывать изрядное количество дополнительной информации. Они также не обрабатывают дубликаты одного и того же автора, поэтому при большом количестве коммитов несколькими авторами по сети течет тонна избыточности. Чаще всего я просто хочу увидеть уникальные имена пользователей авторов. (На самом деле может быть удобно при случае вывести количество фиксаций для каждого автора, но даже в этих случаях было бы лучше, если бы вместо этого отправлялись агрегированные данные.)
Обычно я работаю с доступом только для клиента, поэтому svnadmin
команды менее полезны, но при необходимости я мог бы попросить особую услугу у администратора репозитория, если это строго необходимо или гораздо более эффективно. В репозиториях, с которыми я работаю, есть десятки тысяч коммитов и много активных пользователей, и я не хочу никому причинять неудобства.