Mengetik svn log
meludah daftar yang sangat panjang, tidak berguna di baris perintah. Saya tidak tahu mengapa itu default. Jika saya ingin membaca (atau bahkan bisa membaca) 300 entri di terminal, saya tidak akan keberatan mengetik svn log --full
atau yang serupa.
Mungkin orang-orang SVN berpikir saya ingin memberi makan output itu ke program lain. Namun, jika itu masalahnya, akan lebih masuk akal untuk memiliki lebih banyak panggilan verbal untuk program - bukan pengguna terminal.
Ngomong-ngomong, bagaimana saya melihat hanya beberapa aktivitas terbaru seperti 5 atau 10 entri terakhir untuk melihat apa yang berubah?
git log
,.Jawaban:
limit
opsi, misalnya:Hanya 4 entri terakhir
sumber
Selain apa yang dikatakan Bert F , banyak perintah, termasuk yang
log
memiliki opsi-r
(atau--revision
). Berikut ini adalah beberapa contoh praktis menggunakan opsi ini untuk menunjukkan rentang revisi:Untuk mendaftar semuanya dalam urutan menaik:
Untuk membuat daftar semuanya dalam urutan menurun:
Untuk membuat daftar semuanya dari tanggal tiga belas hingga dasar revisi yang saat ini dicentang dengan urutan naik:
Untuk mendapatkan semuanya di antara tanggal yang diberikan:
Anda dapat menggabungkan semua ekspresi di atas dengan
--limit
opsi, sehingga Anda dapat memiliki kontrol yang cukup terperinci atas apa yang dicetak. Untuk info lebih lanjut tentang-r
ungkapan - ungkapan ini merujuk kesvn help log
atau bab yang relevan dalam buku Kontrol Versi dengan Subversisumber
svn log .
mungkin mengembalikan hanya revisi awal untuk saya (demikian juga dengansvn log --limit 4 .
); tetapi jika saya meneleponsvn log -r HEAD:1 .
, maka saya akhirnya mendapatkan semua entri terdaftar ... Terima kasih lagi - tepuk tangan!svn log
hanya menampilkan riwayat perubahan jalur saat ini.Saya suka menggunakan
-v
untuk mode verbose.Ini akan memberi Anda id komit, komentar dan semua file yang terpengaruh.
Contoh output:
sumber
Pipa output melalui
less
atau pager lain:sumber
Jika ada yang melihat pertanyaan lama ini, perintah praktis untuk melihat perubahan sejak pembaruan terakhir Anda:
svn log -r $(svn info | grep Revision | cut -f 2 -d ' '):HEAD -v
LE (terima kasih Gary atas komentarnya)
hal yang sama, tetapi jauh lebih pendek dan lebih logis:
svn log -r BASE:HEAD -v
sumber
svn log -r BASE:HEAD -v
Untuk menambahkan apa yang dikatakan orang lain, Anda juga bisa membuat alias di file .bashrc atau .bash_aliases Anda:
atau apa pun yang Anda inginkan sebagai default Anda
sumber
Seperti yang telah Anda perhatikan,
svn log
perintah dijalankan tanpa argumen yang menunjukkan semua pesan log yang berhubungan dengan URL yang Anda tentukan atau ke folder copy pekerjaan di mana Anda menjalankan perintah.Anda selalu dapat memperbaiki / membatasi
svn log
hasil:svn log --limit NUM
hanya akan menampilkan NUM revisi pertama,svn log --revision REV1(:REV2)
akan menampilkan pesan log untuk revisi REV1 atau untuk rentang REV1 - REV2,svn log --search
akan menampilkan revisi yang cocok dengan pola pencarian yang Anda tentukan (perintah tersedia di Subversion 1.8 dan klien yang lebih baru). Anda dapat mencari berdasarkansumber
Jawaban ini diarahkan pada pertanyaan lebih lanjut mengenai opsi sub-perintah Subversion. Untuk setiap sub-perintah yang tersedia (yaitu, tambah, masuk, status ...), Anda cukup menambahkan
--help
opsi untuk menampilkan daftar lengkap opsi yang tersedia yang dapat Anda gunakan dengan sub-perintah Anda serta contoh tentang cara menggunakannya. Cuplikan berikut ini diambil langsung darisvn log --help
output perintah di bagian "contoh":sumber
Tetapi log svn masih dalam urutan terbalik, yaitu sebagian besar entri terbaru adalah keluaran pertama, bergulir dari bagian atas terminal saya dan hilang. Saya benar-benar ingin melihat entri terakhir, yaitu urutan pengurutan harus kronologis. Satu-satunya perintah yang melakukan ini tampaknya
svn log -r 1:HEAD
tetapi itu membutuhkan waktu terlalu lama pada repositori dengan sekitar 10.000 entri. Saya datang ini ini:Tampilkan 10 entri subversi terakhir dalam urutan kronologis:
sumber