2012-03-23 16 views
5

के माध्यम से HTTPS पर गिट-एसवीएन का उपयोग करते समय अज्ञात प्रोटोकॉल त्रुटि मुझे गिट-एसवीएन का उपयोग करके HTTPS के माध्यम से सबवर्सन रिपोजिटरी तक पहुंचने का प्रयास करने में कुछ समस्याएं आ रही हैं।प्रॉक्सी सर्वर

RA layer request failed: PROPFIND request failed on '/<project>/trunk': 
PROPFIND of '/<project>/trunk': SSL negotiation failed: SSL error: unknown 
protocol (https://<host>) at C:\Program Files (x86)\Git/libexec/git-core\git-svn 
line 2299 

अन्य बिंदुओं की ध्यान देने योग्य कुछ:

  1. मैं विंडोज 7 x64 पर msysgit 1.7.9.0 का उपयोग कर रहा

    जब मैं टाइप git svn init --username=<my username> --trunk=https://<host>/<project>/trunk, मैं निम्नलिखित त्रुटि संदेश मिलता है। मेरे पास सबवर्सन 1.7.1 कमांड लाइन क्लाइंट और टोर्टोइज एसवीएन 1.7.1 भी स्थापित है।

  2. मैं प्रॉक्सी सर्वर से कनेक्ट कर रहा हूं, जिसे मैंने HTTP_PROXY पर्यावरण चर और git config http.proxy दोनों के माध्यम से निर्दिष्ट किया है।
  3. मैं बिना किसी समस्या के एक ही मशीन पर HTTPS पर गीथब रिपोजिटरी क्लोन करने में सक्षम हूं।
  4. सादा सबवर्जन क्लाइंट बिना किसी समस्या के एक ही प्रोजेक्ट की जांच करता है। मैं इसे Mercurial और hgsubversion के साथ सफलतापूर्वक क्लोन करने में सक्षम हूं, हालांकि यह सर्वर के SSL प्रमाणपत्र को पहचानने में विफल रहा है, इसलिए मुझे इसे मेरी mercurial.ini फ़ाइल में स्पष्ट रूप से निर्दिष्ट करना था। इस वजह से, मैं git config http.sslVerify=false का उपयोग कर रहा हूं। हालांकि, इससे कोई फर्क नहीं पड़ता है।
  5. एक तरह से कामकाज जैसे svnsync (उदाहरण के लिए here) का उपयोग करना एक विकल्प नहीं है।

कुछ और जो मैंने कोशिश नहीं की है?

+0

क्या आप पहली बार सत्यापित कर सकते हैं कि आप सादे सबवर्सन क्लाइंट के साथ उस प्रोजेक्ट को जांच सकते हैं, उपद्रव के साथ किसी भी समस्या को रद्द करने के लिए? –

+0

मैंने पहले ही ऐसा किया है - सबवर्सन क्लाइंट बिना किसी समस्या के प्रोजेक्ट की जांच करता है। – jammycakes

+0

जेम्स, 'openssl s_client -connect host: 443' कृपया –

उत्तर

0

मुझे अंत में पता चला है कि इसे कैसे काम पर लाया जाए। जवाब this thread से आया था।

जब आप प्रॉक्सी के माध्यम से सबवर्सन सर्वर से कनेक्ट होते हैं, तो git-svn .gitconfig में प्रॉक्सी सेटिंग्स का उपयोग नहीं करता है, और न ही यह आपके द्वारा TortoiseSVN में कॉन्फ़िगर की गई सेटिंग्स का उपयोग करता है। इसके बजाय, यह %USERPROFILE%\.subversion\servers के [global] अनुभाग में दिखता है।

इस फ़ाइल में हमारी प्रॉक्सी सर्वर सेटिंग्स को जोड़ने से मुझे बाहरी सबवर्जन सर्वर से कनेक्ट करने की अनुमति मिली।

1

आपको जो संदेश मिल रहा है (SSL23_GET_SERVER_HELLO: अज्ञात प्रोटोकॉल) Google के लिए आसान है। जैसे here या here ऐसा लगता है कि आपके पास https या dns सर्वर गलत कॉन्फ़िगर किए गए हैं और गिट के साथ कुछ भी नहीं है।

+0

यह स्पष्ट नहीं करता है कि मैं वेनिला सबवर्जन और Mercurial/hgsubversion दोनों का सफलतापूर्वक उपयोग करने में सक्षम क्यों था। एकमात्र चीज आपके लिंक का सुझाव देती है कि मैं "गंतव्य साइट साइफर की तरह नहीं है" का पालन कर सकता हूं - हालांकि, मैं गिट-एसवीएन का उपयोग करके एक अलग सिफर कैसे निर्दिष्ट कर सकता हूं? साथ ही, मेरे पास https या DNS सेटिंग्स को ट्विक करने के लिए सर्वर तक पहुंच नहीं है। – jammycakes

1

थोड़ा कम terse उत्तर प्रदान करना, कान is correct। आप इसे क्यों देख रहे हैं इसका कारण है कि आपकी अपस्ट्रीम रिपोजिटरी एसवीएन + एचटीटीपीएस के लिए ठीक से कॉन्फ़िगर नहीं है। यह सर्वर के अंत में एक गलत कॉन्फ़िगरेशन के कारण हो सकता है, या यह आपके क्लाइंट की अपेक्षा करता है कि बनाम एसवीएन प्रोटोकॉल में एक अंतर के कारण हो सकता है।

इरेटा इस समस्या के लिए सही डिबगिंग परिदृश्य प्रदान करता है। यदि आपके पास एसवीएन रिपोजिटरी पर सवाल है, तो कृपया अपने अपस्ट्रीम रिपोजिटरी के रूप में इसका उपयोग करने के लिए its HTTPS configuration is working properly सुनिश्चित करें। यदि आप कनेक्शन का निवारण करने के लिए प्रोटोकॉल या यूआरएल का उपयोग करना चाहते हैं (उदाहरण के लिए, HTTP या एसएसएच पर प्रयास करने के लिए), here's the guide you'll need

+0

दुर्भाग्यवश इस उत्तर में एक ही समस्या है: यह समझा नहीं जाता है (ए) क्यों वेनिला सबवर्जन ठीक काम करता है और Mercurial/hgsubversion भी ठीक काम करने के लिए बनाया जा सकता है, और (बी) SourceForge पर एक एसवीएन भंडार क्यों विफल रहता है। मुझे लगता है कि यह प्रॉक्सी सर्वर समस्या होने की अधिक संभावना है। – jammycakes

9

अन्य दो जवाब पर एक छोटा सा विस्तार करने के लिए (और बताएं कि आपको क्यों आप क्या देख रहे हैं देख रहे हैं), git svn (msysgit का हिस्सा है) SVN 1.4.6 के खिलाफ बनाया गया है:

C:\> git svn --version 
git-svn version 1.7.7.1.msysgit.0 (svn 1.4.6) 

ध्यान दें कि 1.4.6 है ... अच्छा ... पुराना। अपने स्थापित svn है (दुर्भाग्य से) समस्या का संकेत नहीं तो का उपयोग कर चेकआउट करने में सक्षम होने - (और hasn't even been supported since 1.6 was released 2009 में)

msysgit के git-svn स्थापित अपने तोड़फोड़ का उपयोग कर नहीं है।

some bug reports msysgit के लिए एक नए उपversण के उन्नयन के बारे में हैं, लेकिन ऐसा लगता है कि उन लोगों ने अभी तक भौतिक नहीं किया है।

क्या आपने साइगविन के git-svn को आजमाया है?

+0

+1। अच्छा लगता है! :) – MrGomez

+0

अंधेरे में गोली मार दी, लेकिन svn के एक नए संस्करण से उन लोगों के साथ libsvn dlls को प्रतिस्थापित करना संभव हो सकता है। हालांकि, इसका परीक्षण करने के लिए मेरे पास आसानी से सुलभ विंडोज मशीन नहीं है। –

+0

मैंने साइगविन के गिट-एसवीएन की कोशिश की है। दुर्भाग्यवश, यह लगभग एक ही त्रुटि देता है, अपवाद के साथ कि यह PROPFIND के बजाय विकल्प कहता है। – jammycakes

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