2010-11-18 35 views
131

Tôi có một tập tin SVN mà bây giờ là thiếu một số logic và vì vậy tôi cần phải quay trở lại khoảng 40 phiên bản để thời gian khi nó có logic tôi cần. Khác hơn là cố gắng để xem một diff của tập tin trong dòng lệnh (rất khó đọc) là có anyway tôi có thể nhận được một bản sao của tập tin đó để xem xét vì vậy tôi có thể nghiên cứu nó để phục hồi các bộ phận?Làm cách nào để xem phiên bản cũ hơn của tệp SVN?

Trả lời

204

Bạn có thể nâng cấp lên một phiên bản cũ hơn:

svn update -r 666 file 

Hoặc bạn chỉ có thể xem các tập tin trực tiếp:

svn cat -r 666 file | less 
+12

'svn mèo -r 666 tập | less' là hoàn hảo vì vậy tôi có thể đọc qua nó với vim! – Xeoncross

+4

@sillyMunky Hãy thử 'svn cat | vim -'. Nếu tô sáng cú pháp của vim không tự động khởi động, hãy làm ': set syntax = java' (hoặc bất kỳ ngôn ngữ nào). –

+1

Cảm ơn rất nhiều John, thực ra tôi đang ở trên debian và tôi thấy có một gói cú pháp tô sáng nhỏ được gọi là 'làm nổi bật nguồn' nên ít có thể tự động tô sáng cú pháp cú pháp (thực ra bây giờ tôi đã bí danh điều này để giảm bớt sự khác biệt). – sillyMunky

2

Update để một phiên bản cụ thể:

svn up -r1234 file 
1

Tôi tin cách tốt nhất để xem bản xem lại là sử dụng chương trình/ứng dụng giúp bạn dễ dàng. Tôi thích sử dụng trac: http://trac.edgewall.org/wiki/TracSubversion

Nó cung cấp trình duyệt svn tuyệt vời và giúp bạn dễ dàng quay lại các bản chỉnh sửa của mình.

Có thể hơi quá mức cần thiết để thiết lập cho một bản sửa đổi cụ thể mà bạn muốn kiểm tra, nhưng nó có thể hữu ích nếu bạn định thực hiện điều này rất nhiều trong tương lai.

+1

Tôi sẽ đề xuất RapidSvn – Strae

1

Sử dụng phiên bản mới nhất của Subclipse, bạn thực sự có thể xem chúng mà không cần sử dụng dấu nhắc cmd. Trên tệp, chỉ cần nhấp chuột phải => Team => Chuyển sang một chi nhánh/thẻ/bản sửa đổi khác. Bên cạnh trường sửa đổi, bạn bấm chọn, và bạn sẽ thấy tất cả các phiên bản của tập tin đó.

4

Cũng rất thú vị khi so sánh tệp của bản sửa đổi làm việc hiện tại với cùng một tệp bản sửa đổi khác.

Bạn có thể làm như sau:

$ svn diff -r34 file 
Các vấn đề liên quan