Для даного сховища SVN мені потрібно визначити список усіх користувачів, які коли-небудь зробили щось із цього сховища. Цей сховище не є єдиним на сервері SVN, але список повинен бути обмежений цим сховищем.
Для даного сховища SVN мені потрібно визначити список усіх користувачів, які коли-небудь зробили щось із цього сховища. Цей сховище не є єдиним на сервері SVN, але список повинен бути обмежений цим сховищем.
Відповіді:
Поки я почав переписувати свій розбір пітона, я зрозумів набагато кращий спосіб зробити те, про що ви просили (я розібрав імена та дати подання, щоб обчислити коефіцієнти подання на вихідні / вихідний день, щоб побачити, у кого немає життя!)
Перевірте репо, потім перейдіть до нього та виконайте:
svn log | grep '^r[0-9]' | awk '{print $3}' | sort | uniq
Це отримує перелік усіх змін, які були здійснені, грепки для рядків, що починаються з перегляду та числа ( r[12341] | author | date-and-stuff...
), друкує третє поле (автора), сортує авторів та позбавляється від дублікатів.
(no author)
) , додавши -F ' [|] '
до AWK буде захоплювати все ім'я: svn log | grep '^r[0-9]' | awk -F ' [|] ' '{print $2}' | sort | uniq
.
Легка форма відповіді @DrummerB для імен користувачів з пробілами в поєднанні з простотою @ vgm64
svn log -q | gawk -F "|" '/^r[0-9]/ { print $2 }' | sort -u
Відповідь vgm64 хороша, але вона не працює добре з іменами, які містять пробіли. Я змінив його, і це робить:
svn log | grep '^r\do*' | sed 's_^r[0-9]* | \([^|]*\) | .*$_\1_g' | sort | uniq
Я знаю, що цей потік старий, але оскільки деякі підручники для перетворення SVN в Git посилаються там, я додаю команду, яка генерує файл Authors.txt:
svn log -q | awk -F '|' '/^r/ {sub("^ ", "", $2); sub(" $", "", $2); print $2" = "$2" <"$2">"}' | sort -u > Authors.txt
Якщо це імпортний SVN або якщо ви натрапили на Not a working copy
помилку, ви можете вказати локальний шлях до папки SVN, додавши file:///tmp/svn-repo
післяsvn log -q
svn log
користувачів, які внесли зміни? Або перевірка репо не є варіантом?