के बाद लटकता है हमारे पास एक विंडोज़ नेटवर्क है और मैं टोर्टोइस मर्कुरियल को प्राप्त करने और हमारी छोटी टीम के उपयोग के लिए केंद्रीय रेपो के लिए एसएसएच पर दौड़ने की कोशिश कर रहा हूं। मैं इसे अधिकांश भाग के लिए काम कर सकता हूं लेकिन सफलतापूर्वक आदेशों को निष्पादित करने के बाद (क्लोन/पुश इत्यादि)विंडोज टोर्टोइज एचजी प्लिंक क्लोन/पुश
मैंने टर्नोइस एचजी के साथ हमारे Widnows 2008 आरसी 2 सर्वर पर फ्रीसेड सेट अप किया है। मैंने खुद को PuttyGen का उपयोग कर सर्वर पर एक सार्वजनिक/निजी कुंजी उत्पन्न की है (क्लाइंट पर उत्पन्न होने वाले मुद्दे थे)। निजी कुंजी मैंने अपने क्लाइंट को कॉपी किया और mercurial.ini अपडेट किया। सार्वजनिक कुंजी वाले फ़ोल्डर में इंगित करने के लिए मैंने सार्वजनिक कुंजी का नाम बदल दिया और फ्रीसेड को अपडेट किया। क्लाइंट साइड पर मैंने पेजेंट के साथ अपनी निजी कुंजी पंजीकृत की है, पुट्टी में एक सत्र बनाया है और इसे मेरी निजी कुंजी पर इंगित करके इसे सहेजा है। जब मैं अपना प्रारंभिक कनेक्शन बनाने के लिए पुट्टी का उपयोग करता हूं, तो चीजें अजीब हो जाती हैं।
मुझे उपयोगकर्ता नाम (पासवर्ड के लिए कोई संकेत नहीं) के लिए कमांड प्रॉम्प्ट मिलता है और कमांड प्रॉम्प्ट (प्रमाणीकरण के बाद) पर, मैं टाइप नहीं कर सकता। शायद पुट्टी के साथ एक मुद्दा। मैं (TortoisePlink.exe) के माध्यम से कछुए का उपयोग करने की कोशिश करूंगा।
mercurial.ini में मेरे पास है: [UI] ssh = "C: \ पोटीन \ TortoisePlink.exe" -ssh -2 -batch -सी मैं C: \ Users \ Jude.ssh \ JudePrivate.ppk
यदि मैं कंसोल का उपयोग करता हूं तो मैं रेपो क्लोन कर सकता हूं लेकिन यह सबकुछ करने के बाद लटकता है। --debug का उपयोग करना, आखिरी पंक्ति है: 3 फाइलें अपडेट की गईं, ओ फाइलें विलय हो गईं, 0 फाइलें हटा दी गईं, 0 फाइलें अनसुलझे
फाइलों के क्लोन के रूप में मुझे क्या उम्मीद होगी। लेकिन फिर मैं कुछ और नहीं कर सकता। Ctrl+C
कुछ भी नहीं करता है और मुझे प्रक्रिया को मारना है। (जिस तरह से, फिर कमांड प्रॉम्प्ट पर Ctrl^C और शेष कीबोर्ड मैशिंग दिखाता है)।
रेपो क्लोन हो जाता है, फाइलों का सही संस्करण दिखाई देता है लेकिन कंसोल विंडो बंद नहीं होती है या मुझे वापस नियंत्रण नहीं देती है।
यदि मैं एचजी वर्कबेंच का उपयोग करने का प्रयास करता हूं, तो मुझे एक समान समस्या मिलती है। मैं क्लोन कर सकते हैं और धक्का - यह वास्तव में होता है - लेकिन GUI का उपयोग कर रहा है:
% hg --repository C:\repositories\HgTest push --debug
ssh://[email protected]:22/d:/repositories/hgtest
pushing to ssh://[email protected]:22/d:/repositories/hgtest
running "C:\putty\TortoisePlink.exe" -ssh -2 -batch -C -i
C:\Users\Jude\.ssh\JudePrivate.ppk [email protected] -P 22 "hg -R d:/repositories/hgtest serve --stdio"
sending hello command
sending between command
remote: 145
remote: capabilities: lookup changegroupsubset branchmap pushkey known getbundle unbundlehash batch stream unbundle=HG10GZ,HG10BZ,HG10UN httpheader=1024
remote: 1
query 1; heads
sending batch command
searching for changes
all local heads known remotely
no changes found
sending listkeys command
checking for updated bookmarks
sending listkeys command
Workbench के शीर्ष पर हरे बार कहते हैं, "ssh करने के लिए धक्का: // जूड @ dev01: 22/डी:/भंडार/hgtest ... "जैसा कि नीचे स्टेटस बार करता है। मैंने इसे इस सप्ताह के अंत में छोड़ दिया और जब मैं वापस आया तो यह अभी भी ऐसा ही था। मैं अभी भी एचजी वर्कबेंच (प्रकार) का उपयोग कर सकता हूं लेकिन पुल/पुश/क्लोन का उपयोग नहीं कर सकता। संदेश में एचजी वर्कबेंच परिणामों को बंद करने की कोशिश कर रहा है (स्टेटस बार में) Sync tab cannot exit
और मैं ऐप बंद नहीं कर सकता। TortoisePlink.exe को मारना (या Plink.exe, जो भी मैं कोशिश करता हूं) ऐप को मुक्त करता है जिसे मैं इसका उपयोग कर सकता हूं या इसे सामान्य के रूप में बंद कर सकता हूं।
प्रारंभ में मैंने सोचा कि यह टोर्टोइज एचजी या टोर्टोइज़प्लिंक के साथ एक समस्या थी लेकिन पुटी साइट के परिणाम से प्लिंक डाउनलोड कर रहा था।
स्पष्ट करने के लिए:
- मैं धक्का कर सकते हैं/
SSH के माध्यम से क्लोन और कोई पासवर्ड संकेत - मैं कमांड लाइन या एचजी Workbench
के माध्यम से यह कर सकते हैं - जो विधि का उपयोग मैं का लिहाज किए बिना (या Plink.exe या TortoisePlink.exe) प्रक्रिया को मैन्युअल रूप से मारने की जरूरत है।
सॉफ्टवेयर का इस्तेमाल किया + संस्करणों
क्लाइंट (Windows Vista 32 बिट)
कछुआ एचजी 2.3 (MERC 2.1, पायथन 2.6.6)
Plink 0।62
सर्वर - (विंडोज 2008 सर्वर RC2) ऊपर
खोज के बहुत सारे के रूप में
FreeSSHd 1.2.4
ही कछुआ उपयोग की कुछ भी नहीं सामने आए हैं। मैंने उन सभी सुझावों का प्रयास किया है जो मैंने देखा है (भले ही मामूली रूप से संबंधित हों) लेकिन इसका कोई फायदा नहीं हुआ। चूंकि वास्तविक कार्य काम कर रहे हैं, मुझे लगता है कि मैंने सही ढंग से चाबियाँ, एसएसएच, कछुआ इत्यादि स्थापित की हैं।
मुझे उम्मीद है कि मुझे कहीं एक साधारण विकल्प याद आ रहा है लेकिन मुझे संदेह है कि यह किसी प्रकार के उपयोगकर्ता संकेत का इंतजार कर रहा है।
उंगलियों को पार कर :)
=== अद्यतन ===
मैं पोटीन के लिए ईवेंट लॉग मिल गया है (सही क्लिक पोटीन कंसोल विंडो, देखा, "ईवेंट लॉग" विकल्प। एक बार जब मैं सत्र लोड और खुले क्लिक किया गया है, मैं कंसोल विंडो और प्राप्त एक login as:
शीघ्र मेरा नाम लिखकर और बदले मारने के बाद, मैं:। c:\Windows\system32>
को मैं कमांड प्रॉम्प्ट परिवर्तन
Reading private key file "C:\Users\Jude\.ssh\JudePrivate.ppk"
Pageant is running. Requesting keys.
Failed to get reply from Pageant
Offered public key
Offer of public key accepted
Sent public key signature
Access granted
Opened channel for session
Allocated pty (ospeed 38400bps, ispeed 38400bps)
Started a shell/command
और यह इस स्तर पर है और यह कर सकते हैं कुछ भी टाइप नहीं करें।
=== अद्यतन 2 ===
का उपयोग plink मैं कंसोल पर निम्न कार्य करें:
plink -v -ssh [email protected] "cmd /c echo hello"
और, साथ ही सभी जानकारी -v देता है, मैं hello
देखें Server sent command exist status 0
और Disconnected: All channels closed
। यही वह है जो मैं उम्मीद करता हूं।
अगर मैं इसे कछुए के साथ करता हूं, तो 'tortoiseplink-v -shsh Jude @ dev01 "cmd/c echo हैलो' 'मुझे कुछ भी वापस नहीं देखा गया है या खिड़की पर लिखा गया है और मुझे फिर से कमांड प्रॉम्प्ट मिलता है। के रूप में अन्य नाम (dev01) है
इसका मतलब है SSH काम कर रहा है। लेकिन क्या मुझे TortoisePlink का उपयोग करते समय कुछ देखना चाहिए?
परीक्षण फ़ोल्डर के लिए फिर से hg clone --verbose -- ssh://[email protected]/d:/repositories/hgtest C:\repositories\test
लिखने को हासिल करेगा फ़ाइलें, प्रतियां उन्हें लेकिन फिर कमांड प्रॉम्प्ट वापस नहीं करता है। अंतिम पंक्ति 3 files updated...
आदि
=== अद्यतन 3 ===
ऐसा लगता है hg.exe सर्वर पर FreeSSHd द्वारा पैदा की है और यह करीब/खत्म करता है। जब सर्वर पर hg.exe प्रक्रिया मारे जाती है, क्लाइंट (कंसोल/क्लोन संवाद बॉक्स) व्यवहार करता है और आदेश को गर्वपूर्वक समाप्त करता है।
स्पष्ट करने के लिए:
- मैं कमांड लाइन या HG Workbench से क्लोन का उपयोग करें और लॉग सब कुछ ठीक है, मैं कर रहा हूँ प्रमाणीकृत है के अनुसार रेपो उर्फ
- निर्दिष्ट करते हैं, फ़ाइलों SSH के माध्यम से नीचे खींच लिया जाता है और स्थानीय रेपो मैं 1
- में निर्दिष्ट इस बिंदु यह लटका हुआ है पर में कॉपी किया है - चाहे कंसोल या HG Workbench या राइट क्लिक/क्लोन विकल्प।
- सर्वर पर प्रक्रिया एक्सप्लोरर का उपयोग करने से मुझे एचजी को मारने की अनुमति मिलती है।फ्रीएसएसएचडी सेवा
- द्वारा उत्पन्न exe जैसे ही ग्राहक यह कहता है कि "आदेश सफलतापूर्वक पूरा हुआ"।
तो, अब यह सर्वर पर टोर्टोइज एचजी के साथ एक मुद्दा प्रतीत होता है। हो सकता है कि FreeSSHd और कछुआ अच्छी तरह से एक साथ खेलते हैं नहीं ... मुझे लगता है कि मैं सब कुछ फिर से स्थापित होगा ...
=== अद्यतन 4 ===
ऐसा लगता है कि मैं इस के साथ केवल एक नहीं हूँ मुद्दा। मैंने इसे एसओ पर पहले देखा था लेकिन उस समय यह प्रासंगिक नहीं था। हालांकि, अब मुझे एक ही समस्या मिल रही है: Mercurial over ssh client and server on Windows उस समस्या को हल नहीं किया गया था (दो साल पहले) तो क्या मैं यह प्रश्न खुला रखूंगा?
http के लिए -l विकल्प का उपयोग करता है .selenic.com/wiki/accessingSshRepositoriesFromWindows –
पहले से ही लिंक बुकमार्क किया गया है और इसके माध्यम से इसका पालन किया है। यह इसे ठीक से सेट करता है - लेकिन समस्या निवारण में मदद नहीं करता है ... – Jag
2010 से लिंक ** फ्रीएसएसएसएचडी ** Mercurial के लिए सेटिंग्स - http://opapao.blogspot.com/2010/02/setting-up-freesshd-to -work-with.html, लेकिन कुछ तरीकों से प्रासंगिक हो सकता है –