2013-08-27 11 views
8

मेरी SVN रेपो से चेकआउट करने के लिए कोशिश कर रहा है मुझे"svn: E195019: URL के लिए रीडायरेक्ट चक्र का कारण क्या है" का कारण क्या है?

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

देता है हालांकि, यह है कि अगर यह त्रुटि केवल तब होता है जब मैं कुछ (विशिष्ट) प्रॉक्सी सर्वर के पीछे कर रहा हूँ के रूप में प्रकट होता है।

जैसा कि अन्य पोस्ट में चर्चा की गई है (tortoise svn giving me "Redirect cycle detected for URL 'domain/svn'" देखें), यह त्रुटि होती है यदि एसवीएन डीएवी गलत कॉन्फ़िगर किया गया है, उदाहरण के लिए, एसवीएनपेरेंटपाथ का उपयोग करके जहां किसी को एसवीएनपाथ का उपयोग करना चाहिए। हालांकि, मेरी कॉन्फ़िगरेशन सही प्रतीत होती है और - जहां तक ​​मुझे पता है - समस्या केवल प्रॉक्सी के पीछे होती है।

भंडार की स्थापना, और अधिक या कम मानक, जैसे है

 
    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> 

उत्तर

12

(मैं समाधान के लिए खोज करने के लिए अपने खुद के प्रश्न का उत्तर दिया, आधे से एक सप्ताह के अंत में उपयोग करने के बाद):

ऐसा प्रतीत होता है कि यह त्रुटि संदेश इस तथ्य से संबंधित है कि उपवर्तन भंडार निर्देशिका svn/myrepo में स्थित है, जहां निर्देशिका svn को उप डोमेन svn.mydomain.com के दस्तावेज़ रूट के रूप में भी सूचीबद्ध किया गया है। वह दस्तावेज़ रूट निर्देश मेरे लिए स्पष्ट नहीं था, क्योंकि सबडोमेन के दस्तावेज़ रूट को एक अलग conf फ़ाइल में कॉन्फ़िगर किया गया था (मैं सर्वर को बनाए रखने के लिए Plesk का उपयोग कर रहा हूं)। इसने कुछ प्रकार की अस्पष्टता बनाई। एक बार जब मैंने सबडोमेन के दस्तावेज़ रूट को किसी दूसरे स्थान पर ले जाया, तो त्रुटि संदेश चला गया।

समस्या, नीचे ट्रैक करने के लिए मुश्किल था, क्योंकि - जहाँ तक मैं जानता हूँ कि -

  • यदि रेपो में, उप डोमेन के शीर्ष स्तर पर स्थित है यानी <Location /> और SVNPath /var/www/vhosts/mydomain.com/svn त्रुटि प्रकट नहीं होता है उपरोक्त विन्यास।

  • त्रुटि केवल तब दिखाई देती है जब रेपो को प्रॉक्सी के माध्यम से एक्सेस किया जाता है।

  • DocumentRoot के साथ संघर्ष इतना स्पष्ट नहीं था, क्योंकि यह सबडोमेन था।

तो संक्षेप में प्रस्तुत करने के लिए: समाधान (जब Plesk का उपयोग): कुछ अलग फार्म के लिए SVN निर्देशिका Plesk सेटअप (जीयूआई) में उप डोमेन के "DocumentRoot" बदलें। Www.mydomain.com का "DocumentRoot" httpdocs है। Svn.mydomain.com का "DocumentRoot" डिफ़ॉल्ट रूप से svn था। मैंने इसे httpdocs-svn में बदल दिया और समस्या चली गई। फ़ोल्डर httpdocs-svn का उपयोग मेरे सेटअप में नहीं किया जाता है क्योंकि svn.mydomain.com के नीचे सब कुछ DavSVN द्वारा संभाला जाता है।

+0

मुझे यह त्रुटि संदेश मिल रहा है लेकिन यह समाधान नहीं है। मेरे पास वेनिला अपाचे 2 है और वेनिला सबवर्जन और libapache2-svn, सभी स्थापित और चल रहे हैं और मैंने एसवीएनपेरेंटपाथ का उपयोग किया है और/var/lib/svn में दो रिपोज़ बनाए हैं और मैं उन्हें अपने ब्राउज़र में ब्राउज़ कर सकता हूं (अभी तक खाली है, लेकिन यह काम करता है) । लेकिन अगर मैं एक ही यूआरआई http: // localhost/svn/foo पर कमांड लाइन से आयात या चेकआउट करने का प्रयास करता हूं तो मुझे यह त्रुटि रीडायरेक्ट चक्र के बारे में मिलती है।/etc/apache2 के तहत किसी भी फ़ाइल में कहीं भी सकारात्मक रीडायरेक्ट निर्देश नहीं है, तो यह कहां से आ रहा है? ध्यान रखें कि यह एक डिफ़ॉल्ट स्थापना है, इसलिए कोई मैन्युअल संपादन नहीं है। –

+0

यह बहुत समय पहले था कि मुझे यह समस्या थी, लेकिन जहां तक ​​मुझे याद है कि आपको एक स्पष्ट रीडायरेक्ट की आवश्यकता नहीं है और यह डिफ़ॉल्ट स्थापना में हो सकता है यदि एसवीएन रूट निर्देशिका और वेब पेज (अपाचे) रूट निर्देशिका समान है । - लेकिन: मुझे नहीं पता कि क्या अन्य कॉन्फ़िगरेशन हैं जिसके परिणामस्वरूप एक ही त्रुटि संदेश होता है। –

+0

यह पता चला है कि यह एक रीडायरेक्ट नहीं है लेकिन एक उपनाम है। कुछ अवांछनीय कारणों के लिए libapache2-svn (मुझे लगता है) द्वारा स्थापित डिफ़ॉल्ट dav_svn.conf टूटा हुआ है, क्योंकि इसमें एक फर्जी उपनाम/svn/var/lib/svn है और आपको इसे टिप्पणी करने की आवश्यकता है। फिर सब कुछ काम करता है। इसे टूटा क्यों भेजा जाता है मैं नहीं कह सकता। –

0

समस्या एसवीएन यूआरएल के साथ है जिसे आपने चेक-आउट के दौरान दिया था। मैंने इस समस्या के लिए विभिन्न पदों की जांच की लेकिन उनमें से कोई भी मेरे लिए काम नहीं किया। नीचे बहुत ही सरल समाधान है कि मेरे लिए काम किया,

आप लिंक 'http://localhost:3343/csvn/repo/list ' का उपयोग और भंडार है जो आप उपयोग करना चाहते के लिए 'चेकआउट आदेश' के यूआरएल को कॉपी भंडार csvn आप की जरूरत है।

यह यूआरएल आपको चेकआउट के लिए कछुआ एसवीएन क्लाइंट में उपयोग करने की आवश्यकता है।

5

सुनिश्चित करें कि आप जिस लिंक का उपयोग कर रहे हैं वह 'svn' है और 'दृश्य' लिंक नहीं है।

अर्थात www.myrepo.com/svn/myproject/trunk || सही
www.myrepo.com/view/myproject/trunk || गलत

यही काम करना चाहिए।

+0

मुझे लगता है कि यह अन्यायपूर्ण रूप से डिमोट किया गया है। चेकआउट viewvc वेब व्यू urls को चेक करने का प्रयास करते समय मुझे एक ही त्रुटि संदेश मिला। उदाहरण http://svn.apache.org/viewvc/ant/sandbox/ या http://svn.apache.org/viewvc/axis/axis1/java/trunk – thoredge

+0

यह मेरी समस्या को ठीक से हल करता है – SK176H

संबंधित मुद्दे