Bagaimana cara melihat versi file SVN yang lebih lama?

156

Saya memiliki file SVN yang sekarang hilang beberapa logika dan jadi saya harus kembali sekitar 40 revisi ke waktu ketika itu memiliki logika yang saya butuhkan. Selain mencoba melihat perbedaan file di baris perintah ( sangat sulit dibaca ), apakah ada cara saya bisa mendapatkan salinan file itu untuk ditinjau sehingga saya dapat mempelajarinya untuk memulihkan bagian?

Xeoncross
sumber

Jawaban:

237

Anda dapat memperbarui ke revisi yang lebih lama:

svn update -r 666 file

Atau Anda bisa langsung melihat file:

svn cat -r 666 file | less
John Kugelman
sumber
13
svn cat -r 666 file | lesssempurna sehingga saya bisa membacanya dengan vim!
Xeoncross
4
@sillyMunky Coba svn cat | vim -. Jika penyorotan vim tidak secara otomatis menendang, lakukan :set syntax=java(atau bahasa apa pun).
John Kugelman
1
Terima kasih banyak John, sebenarnya saya menggunakan debian dan saya menemukan ada paket penyorotan sintaks kecil yang bagus yang disebut 'source-highlight' sehingga kurang dapat secara otomatis mengambil penyorotan sintaksis (sebenarnya saya sekarang alias ini kurang untuk perbedaan).
sillyMunky
2
svn cat -r 666 file> file_666.js jika Anda ingin melihat seluruh file: p
Parijat Kalia
atau jika Anda menggunakan bash vim +set\ ft=<FILETYPE> <( svn cat -r <REV> <FILE> )
h4unt3r
5

Menarik juga untuk membandingkan file revisi saat ini dengan file yang sama dengan revisi lain.

Anda dapat melakukannya sebagai berikut:

$ svn diff -r34 file
Kreshnik
sumber
2

Perbarui ke revisi tertentu:

svn up -r1234 file
chris
sumber
1

Saya percaya cara terbaik untuk melihat revisi adalah dengan menggunakan program / aplikasi yang memudahkan Anda. Saya suka menggunakan trac: http://trac.edgewall.org/wiki/TracSubversion

Ini menyediakan browser svn yang hebat dan membuatnya sangat mudah untuk kembali melalui revisi Anda.

Mungkin sedikit berlebihan untuk mengatur ini untuk satu revisi spesifik yang ingin Anda periksa, tetapi bisa berguna jika Anda akan sering melakukan ini di masa depan.

wajiw
sumber
1

Menggunakan versi terbaru dari Subclipse , Anda dapat benar-benar melihatnya tanpa menggunakan cmd prompt. Pada file tersebut, cukup klik kanan => Tim => Beralih ke cabang / tag / revisi lain. Selain bidang revisi, Anda mengklik pilih, dan Anda akan melihat semua versi file itu.

Kheem
sumber
1

Untuk langsung menjawab pertanyaan tentang bagaimana "mendapatkan salinan file itu":

svn cat -r 666 file > file_r666

maka Anda dapat melihat yang baru dibuat file_r666dengan program penampil atau perbandingan, misalnya

kompare file_r666 file

dengan baik menunjukkan perbedaan.

Saya memposting jawabannya karena perintah jawaban yang diterima sebenarnya tidak memberikan salinan file dan karena svn cat -r 666 file | vimtidak bekerja dengan sistem saya ( Vim: Error reading input, exiting...)

rehctawrats
sumber