Untuk repositori SVN yang diberikan, saya perlu menentukan daftar semua pengguna yang pernah melakukan sesuatu pada repositori itu. Repositori ini bukan satu-satunya di server SVN, tetapi daftar harus dibatasi untuk repositori itu.
Untuk repositori SVN yang diberikan, saya perlu menentukan daftar semua pengguna yang pernah melakukan sesuatu pada repositori itu. Repositori ini bukan satu-satunya di server SVN, tetapi daftar harus dibatasi untuk repositori itu.
Jawaban:
Ketika saya mulai menulis ulang python parsing saya, saya menyadari cara yang jauh lebih baik untuk melakukan apa yang Anda minta (saya parsing nama dan tanggal pengajuan untuk menghitung rasio pengajuan akhir pekan / hari kerja untuk melihat siapa yang tidak punya kehidupan!)
Lihat repo, lalu buka dan jalankan:
svn log | grep '^r[0-9]' | awk '{print $3}' | sort | uniq
Itu mendapat daftar semua perubahan yang telah dikomit, greps untuk baris yang dimulai dengan revisi dan angka ( r[12341] | author | date-and-stuff...
), mencetak bidang ketiga (penulis), mengurutkan penulis dan menghilangkan duplikat.
(no author)
) menambahkan -F ' [|] '
untuk awk akan ambil seluruh nama: svn log | grep '^r[0-9]' | awk -F ' [|] ' '{print $2}' | sort | uniq
.
Bentuk ringan dari jawaban @DrummerB untuk nama pengguna dengan spasi, dikombinasikan dengan kesederhanaan @ vgm64
svn log -q | gawk -F "|" '/^r[0-9]/ { print $2 }' | sort -u
Saya tahu utas ini sudah lama tetapi karena beberapa tutorial untuk mengubah SVN ke Git terhubung di sana, saya menambahkan perintah yang akan menghasilkan file Authors.txt:
svn log -q | awk -F '|' '/^r/ {sub("^ ", "", $2); sub(" $", "", $2); print $2" = "$2" <"$2">"}' | sort -u > Authors.txt
Jika ini adalah SVN yang diimpor, atau jika Anda menemukan Not a working copy
kesalahan, Anda dapat menentukan lintasan lokal ke folder SVN dengan menambahkan file:///tmp/svn-repo
setelahsvn log -q
svn log
untuk pengguna yang telah melakukan perubahan? Atau memeriksa repo bukan pilihan?