Làm cách nào để duyệt bản sửa đổi cũ của kho lưu trữ Subversion qua chế độ xem web?


146

Tôi biết cách duyệt kho lưu trữ Subversion của dự án thông qua giao diện web của nó, nhưng dường như tôi chỉ có thể duyệt bản sửa đổi mới nhất của thân cây. Có cách nào để duyệt bản sửa đổi cũ hơn của thân cây thông qua giao diện người dùng web không?

Tôi biết cách thực hiện việc này từ dòng lệnh, nhưng tôi cần biết cách thực hiện việc này bằng URL, vì tôi đang nhúng các URL này vào tài liệu. Tôi cũng biết tôi có thể tạo thẻ kiểu svn của thân cây, nhưng tôi không muốn làm điều đó.


4
subversion 1.6 bây giờ có một cú pháp chính thức để làm điều này. Xem câu trả lời của tôi tại đây: stackoverflow.com/questions/686892/
Co Coenen

Câu trả lời:


185

Nối một cái gì đó như thế này vào URL kho lưu trữ của bạn:

!svn/bc/<revision_number>/

Ví dụ

http://www.example.com/svnrepository/!svn/bc/3/

Thay thế

Từ nhận xét của Bert Huijben :

Nếu kho lưu trữ của bạn được lưu trữ bằng Subversion 1.6.0 trở lên, bạn có thể sử dụng example.com/svnreposective/?p=3 cho cùng một kết quả ... Phương thức này / được / ghi lại. (? r = sửa đổi tệp ,? p = sửa đổi hoạt động của URL). Xem ghi chú phát hành lật đổ 1.6


8
Tôi hoàn toàn choáng váng công trình này ... (Tôi chỉ kiểm tra và nó làm). Tôi đã nói nhiều lần là không thể. Lưu ý rằng chuỗi được đề cập phải ở ngay sau gốc repo trong URL, sau đó bạn có thể đặt các thư mục con của repo sau nó.
rmeador

Hãy cẩn thận với điều đó: điều này không được hỗ trợ chính thức và có thể thay đổi bất cứ lúc nào với một bản phát hành mới. Mặc dù nó đã giống nhau kể từ khi bắt đầu svn ...
Stefan

55
Nếu kho lưu trữ của bạn được lưu trữ bằng Subversion 1.6.0 trở lên, bạn có thể sử dụng example.com/svnreposective/?p=3 cho cùng một kết quả ... Phương thức này / được / ghi lại. (? r = sửa đổi tệp ,? p = sửa đổi hoạt động của url). Xem ghi chú phát hành lật đổ 1.6
Bert Huijben

2
Cũng giống như một sửa đổi đối với bài đăng của BertHuijbens, để xem bản sửa đổi trước đây của một thư mục cụ thể, bạn sẽ làm example.com/svnreposective/path/to/specific/folder/?p=3. Vì lý do này hay lý do khác, tôi nghĩ rằng? P = 3 sẽ xuất hiện đầu tiên và hình dung tôi sẽ đăng bài về cô ấy ở đây
shmeeps

1
Nhận xét của @rmeador thực sự cần được đưa vào câu trả lời này, điều này gây hiểu lầm: bạn KHÔNG dính !svn/etc...vào cuối URL của mình . (1) tìm Root kho lưu trữ của bạn bằng cách svn info .(2) sau khi nối thêm /!svn/bc/<revision_number>/(3), sau đó nối đường dẫn đến thư mục hoặc tệp của bạn, nếu có.
Bob Stein




0

Từ trang web, bạn có thể truy cập trang SVN của kho lưu trữ và thêm / sau nó:

https://<host>/subversion/source/<revision>

ví dụ:

https://app.assembla.com/spaces/myproject/subversion/source/1200

-2

Giao diện web tích hợp không cho phép truy xuất các bản sửa đổi cũ (hoặc bất kỳ thông tin nào khác ngoài những gì bạn đã thấy). Bạn có thể cài đặt phần mềm duyệt kho lưu trữ dựa trên web của bên thứ ba để khắc phục giới hạn này. Tôi đã không sử dụng bất kỳ bản thân mình, vì vậy tôi sẽ không đưa ra đề xuất, nhưng tôi chắc chắn những người khác sẽ (một tìm kiếm nhanh trên google cũng sẽ giúp bạn tìm thấy một số).


như SebaGR lưu ý, có thể truy cập các phiên bản cũ hơn nếu bạn thao tác trực tiếp với URL. Không có UI để làm điều này tuy nhiên. Tôi khá ngạc nhiên khi điều này hoàn toàn có thể xảy ra, vì tôi đã nhiều lần nói rằng nó không ...
rmeador

4
Trong Subversion 1.6.0, đối số? P = và? R = được thêm dưới dạng tính năng công khai (và được ghi lại).
Bert Huijben

2
1.5 đã / không cho phép duyệt sửa đổi thông qua giao diện WebDAV tích hợp. Từ svnbook.red-bean.com/en/1.5/svn-book.pdf :> Tôi có thể xem các bản sửa đổi cũ hơn không? > Với một trình duyệt web thông thường? Trong một từ: không. Ít nhất, không phải với mod_dav_svn là công cụ duy nhất của bạn.
Zach Young
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.