Làm cách nào để xem phiên bản cũ hơn của tệp SVN?


156

Tôi có một tệp SVN hiện đang thiếu một số logic và vì vậy tôi cần quay lại khoảng 40 bản sửa đổi cho đến khi nó có logic tôi cần. Khác với việc cố gắng xem một khác biệt của tệp trong dòng lệnh ( rất khó đọc ), có cách nào tôi có thể lấy một bản sao của tệp đó để xem lại để tôi có thể nghiên cứu nó để phục hồi các phần không?

Câu trả lời:


237

Bạn có thể cập nhật lên bản sửa đổi cũ hơn:

svn update -r 666 file

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

svn cat -r 666 file | less

13
svn cat -r 666 file | lesslà hoàn hảo để 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 thực hiện :set syntax=java(hoặc bất kỳ ngôn ngữ nào).
John Kugelman

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

2
svn cat -r 666 tệp> file_666.js nếu bạn muốn xem toàn bộ tệp đó: p
Parijat Kalia

hoặc nếu bạn đang sử dụng bash vim +set\ ft=<FILETYPE> <( svn cat -r <REV> <FILE> )
h4unt3r

5

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 của bản sửa đổi khác.

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

$ svn diff -r34 file

2

Cập nhật lên bản sửa đổi cụ thể:

svn up -r1234 file

1

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

Nó cung cấp một trình duyệt svn tuyệt vời và làm cho nó thực sự dễ dàng quay trở lại thông qua các phiên bản của bạn.

Có thể hơi quá mức khi thiết lập bản này 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 sẽ làm điều này rất nhiều trong tương lai.


1

Sử dụng các 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 => Nhóm => Chuyển sang chi nhánh / thẻ / sửa đổi khác. Ngoài 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 đó.


1

Để trả lời trực tiếp câu hỏi về cách "lấy bản sao của tệp đó":

svn cat -r 666 file > file_r666

sau đó bạn có thể xem chương trình mới được tạo file_r666với bất kỳ người xem hoặc chương trình so sánh nào, vd

kompare file_r666 file

độc đáo cho thấy sự khác biệt.

Tôi đã đăng câu trả lời vì các lệnh của câu trả lời được chấp nhận thực sự không cung cấp một bản sao của tệp và vì svn cat -r 666 file | vimnó không hoạt động với hệ thống của tôi ( Vim: Error reading input, exiting...)

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.