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