2013-08-27 127 views
8

Đang cố gắng để kiểm tra từ repo SVN của tôi mang lại cho tôiNguyên nhân của "svn: E195019: Đã phát hiện chu trình chuyển hướng cho URL" là gì?

 
    svn: E195019: Redirect cycle detected for URL ... 

Tuy nhiên, dường như nếu lỗi này chỉ xảy ra khi tôi đằng sau một số (cụ thể) máy chủ proxy.

Như đã thảo luận trong bài đăng khác (xem tortoise svn giving me "Redirect cycle detected for URL 'domain/svn'"), lỗi này xảy ra nếu DAV SVN bị định cấu hình sai, ví dụ: sử dụng SVNParentPath nơi người dùng nên sử dụng SVNPath. Tuy nhiên, cấu hình của tôi có vẻ đúng và - theo như tôi biết - sự cố chỉ xảy ra khi ở sau proxy.

Các thiết lập của kho là nhiều hơn hoặc ít hơn tiêu chuẩn, ví dụ:

 
    ServerAlias svn.mydomain.com 
    <Location /myrepo> 
     DAV svn 
     SVNPath /var/www/vhosts/mydomain.com/svn/myrepo 
     AuthType Basic 
     AuthName "mydomain svn" 
     AuthUserFile /var/www/vhosts/svn.mydomain.com/conf/htpasswd-myproject 
     # Allow read-only access to anyone, otherwise require 
     # require authentication 
      Require valid-user 
    </Location> 

Trả lời

12

(tôi đưa ra một câu trả lời cho câu hỏi của riêng tôi, sau khi sử dụng một nửa vào cuối tuần để tìm kiếm các giải pháp):

Có vẻ như thông báo lỗi này có liên quan đến thực tế là kho lưu trữ lật đổ nằm trong thư mục svn/myrepo trong đó thư mục svn cũng được liệt kê là DocumentRoot của tên miền phụ svn.mydomain.com. Chỉ thị DocumentRoot đó không rõ ràng với tôi, vì gốc tài liệu của tên miền phụ được cấu hình trong một tệp conf khác (tôi đang sử dụng Plesk để duy trì máy chủ). Điều này tạo ra một số loại mơ hồ. Khi tôi đã di chuyển gốc tài liệu của tên miền phụ sang một vị trí khác, thông báo lỗi sẽ biến mất.

Vấn đề là khó để theo dõi, bởi vì - như xa như tôi biết -

  • Lỗi không xuất hiện nếu repo nằm ở cấp cao nhất của các tên miền phụ, tức là <Location />SVNPath /var/www/vhosts/mydomain.com/svn trong cấu hình trên.

  • Lỗi chỉ hiển thị nếu repo được truy cập qua proxy.

  • Cuộc xung đột với DocumentRoot không rõ ràng lắm vì đó là tên miền phụ.

Vì vậy, để tóm tắt: các giải pháp (khi sử dụng Plesk): Thay đổi "DocumentRoot" của tên miền phụ trong thiết lập Plesk (GUI) để hình thành một cái gì đó khác nhau vào thư mục SVN. "DocumentRoot" của www.mydomain.com là httpdocs. "DocumentRoot" của svn.mydomain.com là (theo mặc định) svn. Tôi đã thay đổi điều đó thành httpdocs-svn và sự cố đã biến mất. Thư mục httpdocs-svn không được sử dụng trong thiết lập của tôi vì mọi thứ bên dưới svn.mydomain.com được xử lý bởi DavSVN.

+0

Tôi nhận được thông báo lỗi này nhưng không phải là giải pháp đó. Tôi có vanilla Apache2 với subversion vani và libapache2-svn, tất cả đã được cài đặt và đang chạy và tôi đã sử dụng SVNParentPath và tạo hai repos trong/var/lib/svn và tôi có thể duyệt đến chúng trong trình duyệt của tôi (rỗng cho đến nay, nhưng nó hoạt động) . Nhưng nếu tôi cố gắng nhập khẩu hoặc thanh toán từ dòng lệnh đến cùng một URI http: // localhost/svn/foo, tôi nhận được lỗi này về chu trình Chuyển hướng. có tích cực NO Chỉ thị chuyển hướng bất cứ nơi nào trong bất kỳ tập tin dưới/etc/apache2 do đó, nó đến từ đâu? Lưu ý đây là cài đặt mặc định, do đó không có chỉnh sửa thủ công. –

+0

Đã lâu rồi tôi gặp vấn đề này nhưng tôi nhớ bạn không cần chuyển hướng rõ ràng và có thể xảy ra trong cài đặt mặc định nếu thư mục gốc SVN và thư mục gốc của trang web (apache) giống nhau . - Nhưng: Tôi không biết nếu có cấu hình khác mà kết quả trong cùng một thông báo lỗi. –

+0

Nó chỉ ra rằng nó không phải là một chuyển hướng nhưng một bí danh. Đối với một số lý do unfathomable dav_svn.conf mặc định được cài đặt bởi libapache2-svn (tôi nghĩ) là bị hỏng, vì nó có chứa một Alias ​​/ svn/var/lib/svn không có thật và bạn cần phải bình luận nó ra. Sau đó, mọi thứ hoạt động. Tại sao điều này được vận chuyển bị hỏng Tôi không thể nói. –

0

Sự cố xảy ra với URL SVN mà bạn đã cung cấp khi trả phòng. Tôi đã kiểm tra bài viết khác nhau cho vấn đề này nhưng không ai trong số họ làm việc cho tôi. Dưới đây là giải pháp rất đơn giản mà làm việc cho tôi,

Bạn cần bạn csvn kho sử dụng liên kết 'http://localhost:3343/csvn/repo/list ' và sao chép URL của 'Thanh toán lệnh' cho kho lưu trữ mà bạn muốn truy cập.

URL này bạn cần sử dụng trong ứng dụng khách SVN của rùa để kiểm tra.

5

Đảm bảo liên kết bạn đang sử dụng là 'svn' chứ không phải liên kết 'chế độ xem'.

ví dụ www.myrepo.com/svn/myproject/trunk || đúng
www.myrepo.com/view/myproject/trunk || sai

Điều đó sẽ làm việc.

+0

Tôi nghĩ điều này đã bị giáng cấp một cách bất công. Tôi nhận được thông báo lỗi chính xác tương tự trong khi cố gắng thanh toán url xem url trên web viewvc. Ví dụ http://svn.apache.org/viewvc/ant/sandbox/ hoặc http://svn.apache.org/viewvc/axis/axis1/java/trunk – thoredge

+0

Điều này giải quyết được vấn đề của tôi một cách chính xác – SK176H