Bagaimana cara menampilkan komitmen pengguna tertentu di svn? Saya tidak menemukan switch untuk itu untuk svn log.
svn
bash
version-control
mimrock
sumber
sumber
--search
opsi dengan Subversion 1.8 atau klien yang lebih baru.Jawaban:
Anda bisa menggunakan ini:
Ini akan menunjukkan kepada Anda setiap komit yang dibuat oleh pengguna yang ditentukan (USERNAME).
MEMPERBARUI
Seperti yang disarankan oleh @bahrep, subversi 1.8 dilengkapi dengan
--search
opsi.sumber
p
).svn log
copy pekerjaan. Anda juga dapat menentukan repositori Anda, yaitusvn log https://your-svn-repo
.--search
opsi.Dengan Subversion 1.8 atau yang lebih baru:
Selain kecocokan penulis, ini juga akan mengaktifkan komit SVN yang berisi nama pengguna itu dalam pesan komit, yang seharusnya tidak terjadi jika nama pengguna Anda bukan kata yang umum.
The
-l 50
akan membatasi pencarian ke terbaru 50 entri.http://svnbook.red-bean.com/en/1.8/svn.ref.svn.html#svn.ref.svn.sw.search
sumber
svn log --search foo --search bar -l 30
,.If multiple --search options are provided, a log message is shown if it matches any of the provided search patterns.
svn tidak datang dengan opsi bawaan untuk ini. Itu memang memiliki
svn log --xml
opsi, untuk memungkinkan Anda mengurai output sendiri, dan mendapatkan bagian yang menarik.Anda bisa menulis skrip untuk menguraikannya, misalnya, dengan Python 2.6:
Jika Anda menyimpan di atas sebagai svnLogStripByAuthor.py, Anda bisa menyebutnya sebagai:
sumber
Karena semua orang tampaknya condong ke linux (et al): Ini adalah padanan Windows
sumber
bekerja untuk sebagian besar.
Atau agar lebih akurat:
sumber
-A
untuk menampilkan konteks, tetapi angka ini statis sedangkan pesan komit panjang variabel. Anda bisa membuat solusi dengan sed atau serupa, tapi itu upaya. : P| awk '{ print "-" $1 }' | xargs svn log
Sementara solusi yvoyer berfungsi dengan baik, berikut adalah salah satu yang memanfaatkan keluaran XML SVN, menguraikannya
xmlstarlet
.Dari sini Anda bisa masuk ke pertanyaan XML yang lebih maju.
sumber
Inilah solusi saya menggunakan xslt. Sayangnya, xsltproc bukan prosesor streaming, jadi Anda harus memberi batas log. Contoh penggunaan:
svnLogFilter.xslt
svnLogText.xslt
sumber
Dimulai dengan Subversion 1.8, Anda dapat menggunakan
--search
dan--search-and
opsi barissvn log
perintah dengan perintah .Jadi itu harus sesederhana berlari
svn log --search JohnDoe
.sumber
Anda dapat menggunakan Perl untuk memfilter log dengan nama pengguna dan mempertahankan pesan komit. Cukup atur $ / variabel yang memutuskan apa yang merupakan "baris" di Perl. Jika Anda mengatur ini ke pemisah dari entri log SVN, Perl akan membaca satu catatan sekaligus dan kemudian Anda harus dapat mencocokkan nama pengguna di seluruh catatan. Lihat di bawah:
sumber
Untuk mendapatkan perbedaan dengan checkin.
Dapatkan nomor revisi ke dalam file:
Sekarang baca file & jalankan diff untuk setiap revisi:
sumber
Saya telah menulis naskah dengan Python:
dan gunakan:
sumber