Bir SVN dosyasının eski bir sürümünü nasıl görüntülerim?


156

Şimdi bazı mantık eksik bir SVN dosyası var ve bu yüzden ihtiyacım olan mantık vardı zaman yaklaşık 40 revizyonlar geri gitmek gerekir. Komut satırında ( okuma çok zor ) dosyanın bir fark görüntülemeye çalışmak dışında , ben parçaları kurtarmak için incelemek için incelemek için bu dosyanın bir kopyasını almak için herhangi bir yolu var mı?

Yanıtlar:


237

Daha eski bir düzeltmeye güncelleyebilirsiniz:

svn update -r 666 file

Veya dosyayı doğrudan görüntüleyebilirsiniz:

svn cat -r 666 file | less

13
svn cat -r 666 file | lessmükemmel böylece vim ile okuyabilirsiniz!
Xeoncross

4
@sillyMunky Deneyin svn cat | vim -. Vim'in sözdizimi vurgulaması otomatik olarak devreye girmezse, :set syntax=java(veya hangi dili) yapın.
John Kugelman

1
Çok teşekkürler John, aslında debian'dayım ve 'kaynak-vurgulama' adı verilen güzel bir küçük sözdizimi vurgulama paketi olduğunu gördüm, böylece daha az otomatik olarak sözdizimi vurgulamayı toplayabilir (aslında bunu daha az ayrım yapmak için takma adım).
sillyMunky

2
tüm dosyayı görmek istiyorsanız svn cat -r 666 file> file_666.js: p
Parijat Kalia

veya bash kullanıyorsanız vim +set\ ft=<FILETYPE> <( svn cat -r <REV> <FILE> )
h4unt3r

5

Mevcut çalışma revizyonunun dosyasını başka bir revizyonun aynı dosyasıyla karşılaştırmak da ilginçtir.

Aşağıdaki gibi yapabilirsiniz:

$ svn diff -r34 file

2

Belirli bir düzeltmeye güncelleme:

svn up -r1234 file

1

Düzeltmeleri görüntülemenin en iyi yolunun sizin için kolaylaştıran bir program / uygulama kullanmak olduğuna inanıyorum. Trac kullanmayı seviyorum: http://trac.edgewall.org/wiki/TracSubversion

Harika bir svn tarayıcısı sağlar ve revizyonlarınıza geri dönmeyi gerçekten kolaylaştırır.

Bunu kontrol etmek istediğiniz belirli bir revizyon için ayarlamak biraz abartılı olabilir, ancak gelecekte bunu çok yapacaksanız yararlı olabilir.


1

Subclipse'in en son sürümlerini kullanarak, cmd istemini kullanmadan bunları görüntüleyebilirsiniz. Dosyada, sağ tıklayın => Team => Başka bir şubeye / etikete / düzeltmeye geç. Düzeltme alanının yanı sıra, seç'i tıkladığınızda o dosyanın tüm sürümlerini görürsünüz.


1

"Dosyanın bir kopyasının nasıl alınacağı" sorusunu doğrudan yanıtlamak için:

svn cat -r 666 file > file_r666

yeni oluşturulanları file_r666herhangi bir görüntüleyici veya karşılaştırma programıyla görüntüleyebilirsiniz, ör.

kompare file_r666 file

güzel farklılıkları gösterir.

Cevabı, kabul edilen yanıtın komutları aslında dosyanın bir kopyasını svn cat -r 666 file | vimvermediği ve sistemimle çalışmadığı için gönderdim ( Vim: Error reading input, exiting...)

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.