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.
user-accounts
svn
repository
pengguna12889
sumber
sumber
svn log
untuk pengguna yang telah melakukan perubahan? Atau memeriksa repo bukan pilihan?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.sumber
(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
sumber
Jawaban vgm64 baik, tetapi tidak bekerja dengan baik dengan nama yang mengandung spasi. Saya mengubahnya, jadi:
sumber
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:
Jika ini adalah SVN yang diimpor, atau jika Anda menemukan
Not a working copy
kesalahan, Anda dapat menentukan lintasan lokal ke folder SVN dengan menambahkanfile:///tmp/svn-repo
setelahsvn log -q
sumber