2009-03-14 31 views
6

Trang web của tôi là phiên bản kiểm tra của repo SVN. Tôi có nghĩa là thư mục .svn được đặt trên máy chủ web. Tôi không sử dụng xuất bản web.Làm thế nào để hiển thị sửa đổi SVN trên trang web động?

Và tôi muốn hiển thị bản sửa đổi dự án hiện tại (toàn bộ trang web) ở chân trang. Làm thế nào tôi có thể làm điều đó?

Nếu tôi đang sử dụng xuất bản web, tôi có thể xác định sửa đổi về xây dựng/xuất bản và viết nó dưới dạng html tĩnh.

Vậy làm thế nào để có được bản sửa đổi động? Đọc tệp .svn trực tiếp? Có cách nào tốt hơn không?

Tôi đã thấy các câu hỏi như vậy, nhưng câu trả lời đã được sử dụng SubWCRev.exe, nó không phải là tiếc là chấp nhận được.

Chỉnh sửa:Tarn đưa ra ý tưởng thú vị về móc SVN trên cam kết. Bất kỳ ý tưởng nào khác?

Trả lời

2

Bạn có thể viết móc cho SVN. Bạn có thể viết một cái móc để cập nhật một tệp với bản dựng hiện tại như là một phần của quy trình thanh toán của bạn. Sau đó, bạn có thể đọc, bộ nhớ cache và hiển thị số xây dựng đó trên trang web của mình.

+0

Cảm ơn ý tưởng! Bạn có thể cung cấp thêm một số thông tin về cách viết các móc SVN? – abatishchev

+1

Phil Haack viết blog về cách viết các móc SVN trong .NET bằng cách sử dụng CaptainHook http://haacked.com/archive/2006/07/31/CaptainHookIsOnSourceForge.aspx – tarn

0

Điều duy nhất tôi có thể nghĩ đến là sử dụng svn CLI nhị phân và gọi chúng từ trang. Bằng cách đó bạn có thể loại bỏ phần còn lại và lấy số sửa đổi. Thành thật mà nói, một giải pháp hơi xấu xí của nó.

+0

Mã nhị phân svn CLI là gì? – abatishchev

+0

SVN nhị phân = lệnh mà người dùng sử dụng trên dòng lệnh như 'svn update' và tương tự. Gõ 'svn help' (không có dấu ngoặc kép) trên dòng lệnh để có danh sách hữu ích các lệnh mà người dùng có thể sử dụng. –

8

sử dụng keyword substitution. cho phép thay thế cho các tệp bạn muốn hiển thị thông tin sửa đổi và đặt từ khóa, như $Revision: 144 $, ở đó.

lưu ý rằng

$ Rev $ mở rộng để hiển thị các phiên bản cuối cùng, trong đó các tập tin thay đổi, không phải là phiên bản cuối cùng mà nó đã cập nhật

(xem liên kết ở trên) . nếu bạn muốn hiển thị số bản sửa đổi kho lưu trữ toàn cầu, bạn nên sử dụng tốt hơn svnversion.

cũng có, xem Related.

+0

Tôi đã làm điều này trong một biến ứng dụng, đã làm việc rất tốt. – ccook

+0

Điều này sẽ hiển thị sửa đổi trong đó * tập tin cụ thể * thay đổi lần cuối (N). Điều này không giống như bản sửa đổi khi phần của kho chứa trang web thay đổi lần cuối (M). N <= M. – bendin

+0

Tôi không thể tin rằng tôi không biết về điều này nhờ mẹo –

1

Nếu muốn hiển thị số phiên bản mới nhất của toàn bộ/kho lưu trữ hoặc chi nhánh, thay thế từ khóa sẽ không giúp ích, tôi nghĩ giải pháp tốt hơn là sử dụng phần mềm Quản lý xây dựng/tích hợp liên tục, như CruiseControl.NET hoặc TeamCity xây dựng kịch bản.

Duplicate của:

+1

này * là * 645945/cách hiển thị-svn-revision-on-web-site-động –

1

câu hỏi trước này trên SO có một số cuộc thảo luận có thể có ích cho bạn: Always Commit the same file with SVN.

Tôi luôn thực hiện nó bằng cách chạy tập lệnh có thể sử dụng sed để thay thế nhận xét bằng dấu thời gian hiện tại trong tệp $ Rev $ của tôi. Bằng cách đó, nội dung tập tin sẽ thay đổi và Subversion sẽ cam kết nó.Một số hướng dẫn sử dụng, nhưng bạn có thể viết một kịch bản để làm điều đó trước tiên, và sau đó thực hiện lệnh svn commit thực tế.

Các vấn đề liên quan