तोड़फोड़ की त्रुटि: रिपॉजिटरी स्थायी रूप से स्थानांतरित करने के लिए स्थानांतरित करने के लिए कृपया


23

मैंने अपने सर्वर पर तोड़फोड़ और अपाचे स्थापित किए हैं।

अगर मैं इसे अपने वेबब्रोज़र के माध्यम से ब्राउज़ करता हूं तो यह ठीक काम करता है ( http://svn.host.com/reposname )। हालाँकि, अगर मैं अपनी मशीन पर चेकआउट करता हूँ तो मुझे निम्नलिखित त्रुटि मिलती है:

Command: Checkout from http://svn.host.com/reposname, revision HEAD, Fully recursive, Externals included  
Error: Repository moved permanently to 'http://svn.host.com/reposname/'; please relocate  

मैंने अपाचे की त्रुटि लॉग की जाँच की, लेकिन यह कुछ भी नहीं कहता है। (यह अब - संपादित देखें)

मेरी रिपॉजिटरी के अंतर्गत संग्रहित हैं: / var / www / svn / repos /

मेरी वेबसाइट के अंतर्गत संग्रहीत किया जाता है: / var / www / vhosts / x / ...

यहाँ उपडोमेन के लिए conf फ़ाइल है:

<Location />
   DAV svn
   SVNParentPath /var/www/svn/repos/

   AuthType Basic
   AuthName "Authorization Realm"
   AuthUserFile /var/www/svn/auth/svn.htpasswd
   Require valid-user
</Location>

प्रमाणीकरण ठीक काम करता है।

क्या किसी को पता है कि यह क्या कारण हो सकता है?

- संपादित करें

इसलिए मैंने अपाचे (फिर से) को फिर से शुरू किया और फिर से कोशिश की और अब यह मुझे एक त्रुटि संदेश देता है, लेकिन यह वास्तव में मदद नहीं करता है। किसी को भी एक विचार है कि इसका क्या मतलब है?

[Wed Mar 31 23:41:55 2010] [error] [client my.ip.he.re] Could not fetch resource information.  [403, #0]
[Wed Mar 31 23:41:55 2010] [error] [client my.ip.he.re] (2)No such file or directory: The URI does not contain the name of a repository.  [403, #190001]

- संपादित करें २

अगर मैं svn infoइसे कुछ भी उपयोगी नहीं देता:

[root@server domain.com]# svn info http://svn.domain.com/repos/
Username: username
Password for 'username':
svn: Repository moved permanently to 'http://svn.domain.com/repos/'; please relocate

मैंने एक स्थानीय चेकआउट ( svn checkout file:///var/www/svn/repos/reposname) करने की कोशिश की और वह ठीक काम करता है (काम को ठीक करने / जोड़ने / जोड़ने) भी। तो ऐसा लगता है कि अपाचे के साथ कुछ करना है।

कुछ अन्य जानकारी:

  • मैं सेंटो 5.3 चला रहा हूं
  • Plesk 9.3
  • तोड़फोड़, संस्करण 1.6.9 (r901367)

- संपादित करें ३

मैंने रिपॉजिटरी को स्थानांतरित करने की कोशिश की, लेकिन इससे कोई फर्क नहीं पड़ा।

selinux अक्षम है इसलिए ऐसा नहीं है।


1
आपके पास ऐसा क्यों है Options +indexesजो वास्तव में एक svn स्थान में कुछ भी उपयोगी नहीं होना चाहिए।
२०:२२ पर Zoredache

क्या आपने प्रमाणीकरण / प्राधिकरण के साथ कुछ भी करने के लिए अस्थायी रूप से अक्षम करने का प्रयास किया है?
ज़ोराडैस

मैंने इसे सभी रिपॉजिटरी का अवलोकन दिखाने की कोशिश की (बाद में मुझे पता चला कि इसके लिए एक अलग कमांड है), मैंने इसे हटा दिया। मैंने प्रमाणीकरण भी हटा दिया, लेकिन यह कुछ भी हल नहीं किया (प्रामाणिक वास्तव में ठीक काम करता है, यह मुझसे एक उपयोगकर्ता नाम / पासवर्ड के लिए पूछता है और केवल एक वास्तविक संयोजन स्वीकार करता है)।
बार्ट एस।

जवाबों:


22

मेरे पास यह हाल ही में था ... लेकिन यह पता चला कि मैं यूआरएल भूल गया था :)

एक बात जो आपको करनी चाहिए वह यह है कि आपका svn स्थान किसी भी अपाचे-सर्व करने योग्य वेबसाइटों को ओवरलैप नहीं करता है। यानी, यदि आप अपने DocumentRoot को / www, और अपने svn स्थान पर / www / svn होने के लिए सेट करते हैं ... तो आप मुश्किल में हैं - Apache को पता नहीं चलेगा कि इसके साथ क्या करना है (यानी svn विशेष हैंडलर या एक सीधा http हैंडलर)।

इसके लिए FAQ प्रविष्टि देखें ।


ऐसा लगता है कि यह सही उत्तर हो सकता है, लेकिन यहां इससे संबंधित एक और संभावित पोस्ट है: forum.webfaction.com/viewtopic.php?id=2423
पॉल क्रून

1
वाह, मैं पहले से ही इस बारे में जानता था लेकिन मुझे लगा कि मैंने इसे एक और कोशिश दी। मैंने एक नया भंडार बनाया और उस पर काम किया। मैं उलझन में था कि ऐसा क्यों था, इसलिए मैंने अपने सर्वर में एफ़टीपी लगा दिया और पाया कि सबडोमैन की httpdocs निर्देशिका में एक निर्देशिका थी (plesk द्वारा बनाई गई) जिसे टेस्ट (मेरी रिपॉजिटरी के समान) कहा जाता था। मैंने इसे हटा दिया, और अब यह काम करता है। सहायता के लिए धन्यवाद।
बार्ट एस।

1
एक सामान्य परिदृश्य पर थोड़ा विस्तार करने के लिए। यदि आपके पास एक वर्चुअल होस्ट सेटअप है और मूल में SVN चाहते हैं (जैसे svn.example.com आपका रेपो URL है), तो "DocumentRoot / svn" सेट न करें और फिर अपने VirtualBost के अंदर "<Directory / svn>" ब्लॉक का उपयोग करें। रूट पथ के लिए DAV svn विकल्प कॉन्फ़िगर करें। यह उस समस्या को ट्रिगर करेगा जहां अपाचे डीएवी हैंडलर और उसके आंतरिक हैंडलर के बीच उलझ जाता है। आपके VirtualHost ब्लॉक में NO DocumentRoot निर्देश होना चाहिए। रूट पथ के लिए DAV svn विकल्पों को कॉन्फ़िगर करने के बजाय "<स्थान />" ब्लॉक का उपयोग करें।
नेजरॉय

मैंने अपने विन्यास में एक उपनाम निर्देश दिया था, उदा Alias svn /repositoriesऔर फिर सब कुछ सेट किया <Location /svn/ >। एफएक्यू लिंक में समस्या बिल्कुल वैसी ही थी, हालांकि रहस्यमय तरीके से, यह एक महीने के लिए पूरी तरह से काम करता था और फिर बुधवार दोपहर को चाय के समय रुक जाता था। यदि आपकी रिपॉजिटरी "/" पर है तो आपके पास अपने डॉक्यूमेंटरूट निर्देश के साथ एक ओवरलैप होगा।
मैट कोनोली

यह पूरी तरह से काम किया! यह DocumentRoot समस्या थी! +1
Feiticeir0


2

इस वेब की जाँच करें: http://www.rkrishardy.com/2009/12/subversion-fix-svn-copy-causes-repository-moved-permanentl/

संभवतः उर्फ ​​उसी जगह को इंगित करता है जहां congfigured है dav_svn.mod, और रेपो का आरोप लगाते हुए अपाचे और dav_svn के बीच दौड़-स्थिति है।

यह बेहतर प्रदान की लेख में समझाया गया है

Dav_svn.conf में:

  <Location /svn>  #Alias we are talking about
  DAV svn

Apache_site.conf में

<IfModule mod_ssl.c>
<VirtualHost *:443>
    ServerAdmin webmaster@localhost
    ServerName svn.za11.pl

    #Alias /svn  "/mnt/nfs/svn/"  ###Comment out or change this alias
    DocumentRoot /mnt/nfs/svn/
    <Directory /mnt/nfs/svn/>
        Options Indexes FollowSymLinks MultiViews
        AllowOverride None
        Order allow,deny
        allow from all
        AuthType Basic 
        AuthName "Subversion Repository"
        AuthUserFile /etc/apache2/dav_svn.passwd
        Require valid-user
    </Directory> 
... rest of the file

1
यहां लिंक मृत है, और कोई प्रतिस्थापन नहीं है।
sysadmin1138

//, क्या यह उत्तर अपडेट करेगा?
नाथन बसानी

1

मेरे पास एक vhost सेटअप है, जिसमें मेरे repo के साथ svn.mydomain.com/sites/ मेरे vhost में एक डॉक्यूमेंटरूट और लोकेशन ब्लॉक था। डॉक्यूमेंट्री को हटाने से यह समस्या हल हो गई।


1

मुझे यह त्रुटि तब हुई जब मैंने गलती से अपाचे द्वारा प्रस्तुत html पेड़ के नीचे अपना रेपो डाल दिया, मेरी FC14 मशीन पर RPM आधारित तोड़फोड़ और अपाचे प्रतिष्ठानों के साथ।

SVNParentPath (/etc/httpd/conf.d/subversion.conf में) DocumentRoot के बाहर एक निर्देशिका को इंगित करना चाहिए।

मैंने अपने रेपो को बाहर स्थानांतरित कर दिया, और समस्या दूर हो गई।

उम्मीद है की यह मदद करेगा।


1

मुझे पता है कि यह पुराना है लेकिन मैंने इसे Google पर पाया क्योंकि मेरे पास यही मुद्दा था। सुनिश्चित करें कि पोर्ट 7080 कंप्यूटर या सर्वर फ़ायरवॉल द्वारा अवरुद्ध नहीं है


0

ऐसा लगता है जैसे आप नहीं कर रहे हैं svn checkout, बल्कि svn updateएक मौजूदा भंडार (?) में हैं।

यदि हां, तो यह करें:

svn switch --relocate http://svn.host.com/reponame


नहीं, जैसा कि आप त्रुटि संदेश में देख सकते हैं कि मैंने इसे दिया "कमांड: चेकआउट फ्रॉम ..." मैं वास्तव में एक नया चेकआउट आज़मा रहा हूं।
बार्ट एस।

0

स्थाई रूप से स्थानांतरित? क्या आप HTTPFox या कुछ और ऐसा कर सकते हैं और यह सत्यापित कर सकते हैं कि Apache आपकी रिपॉजिटरी (होना चाहिए 200/OK) के लिए सही स्टेटस कोड दे रहा है । मेरा मानना ​​है कि स्थिति कोड 301एक ऐसे URL से मेल खाता है जो "स्थायी रूप से स्थानांतरित" हो गया है और यह लगता है कि svn ग्राहक किस बात का उल्लेख कर रहा है।


Firebug और Wget दोनों एक 200 OK देते हैं। लेकिन जैसा मैंने कहा, अगर मैं इसे अपने ब्राउज़र के माध्यम से ब्राउज़ करता हूं (सर्फिंग करके http://svn.server.com/repos) यह बहुत अच्छा काम करता है, तो मुझे "रिपोज - रिविजन 0: /" और सब कुछ मिलता है। समस्या केवल तब होती है जब मैं एक चेकआउट करता हूं।
बार्ट एस।

0

शायद थोड़ी देर की बातचीत में, लेकिन मैं इसे देखता हूं जब अनुगामी विन्यास में एक उपनाम का उपयोग करते हुए अनुगामी '/' से निपटने के लिए: / अन्य / svn / पथ / से / svn /


0

आपको यह भी सुनिश्चित करने की आवश्यकता है कि svn repos के स्थान पर कोई अन्य उपनाम निर्देश न करें। मेरे पास यह हाल ही में था जब मेरे पास था

Alias /svn /var/lib/svn
<Location /svn>
...
</Location>

जहाँ उपनाम और स्थान निर्देश उसी पथ पर लागू होते हैं।


0

मुझे सिर्फ एक समान समस्या थी जब चेक आउट नहीं किया गया था, लेकिन जब एक कमिट बनाया गया था।

कारण? यह फ़ोल्डर "obj \ Debug \ TempPE", कुछ अजीब कारण के लिए है कि फ़ोल्डर "TempPE" यह भंडार के लिए यह करने के लिए सकारात्मक नहीं है

समाधान? ... परियोजना के अन्य सभी फ़ोल्डर्स को एक-एक करके साझा करें और उस स्थान को SVN सर्वर से हटा दें

हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.