मैंने एक समान समस्या का समाधान किया।हो सकता है कि यह आपके मामले में क्या हो रहा है लेकिन आप उसी समस्या निवारण को फिर से लागू करने का प्रयास कर सकते हैं जो मैंने किया था।
मुझे एहसास हुआ कि जब मैं एक नए उपयोगकर्ता के लिए चाबियाँ दबा रहा था तो मुझे यह स्टैकट्रैक मिल रहा था, यह लक्षण है कि गिटोसिस पर हुक नई कुंजी को संसाधित करने में असफल रहा।
remote: Traceback (most recent call last):
remote: File "/usr/local/bin/gitosis-run-hook", line 9, in <module>
remote: load_entry_point('gitosis==0.2', 'console_scripts', 'gitosis-run-hook')()
remote: File "/usr/local/lib/python2.7/dist-packages/gitosis-0.2-py2.7.egg/gitosis/app.py", line 24, in run
remote: return app.main()
remote: File "/usr/local/lib/python2.7/dist-packages/gitosis-0.2-py2.7.egg/gitosis/app.py", line 38, in main
remote: self.handle_args(parser, cfg, options, args)
remote: File "/usr/local/lib/python2.7/dist-packages/gitosis-0.2-py2.7.egg/gitosis/run_hook.py", line 81, in handle_args
remote: post_update(cfg, git_dir)
remote: File "/usr/local/lib/python2.7/dist-packages/gitosis-0.2-py2.7.egg/gitosis/run_hook.py", line 45, in post_update
remote: config=cfg,
remote: File "/usr/local/lib/python2.7/dist-packages/gitosis-0.2-py2.7.egg/gitosis/gitdaemon.py", line 95, in set_export_ok
remote: for (dirpath, repo, name) in walk_repos(config):
remote: File "/usr/local/lib/python2.7/dist-packages/gitosis-0.2-py2.7.egg/gitosis/gitdaemon.py", line 72, in walk_repos
remote: assert ext == '.git'
remote: AssertionError
त्रुटि केवल एक बार दिखाया जा रहा था, तो मैं भोलेपन से एक क्षणिक विफलता के रूप में यह खारिज कर दिया।
प्रैक्टिस में, गिटोसिस केवल मेरी कुंजी के लिए काम कर रहा था, लेकिन यह उन उपयोगकर्ताओं के लिए काम नहीं कर रहा था जिन्हें मैं समर्थन देने की कोशिश कर रहा था। ~/.ssh/authorized_keys
में मुझे उस उपयोगकर्ता की सार्वजनिक कुंजी नहीं मिली जो मैंने सोचा था कि मैंने अभी जोड़ा था। यही कारण है कि हर बार जब उसने क्लोनिंग करने का प्रयास किया तो मेरे दोस्त को पासवर्ड के लिए कहा जा रहा था।
मैं gitosis.conf
[gitosis]
loglevel=DEBUG
मैं gitosis.conf फ़ाइल ताकि हुक फिर से ट्रिगर हो जाएगा करने के लिए जोड़ने और उपयोगकर्ताओं को निकालने रखना था करने के लिए Gitosis विन्यास को डिबगिंग कहा, इन दो पंक्तियों को जोड़ने के द्वारा। मेरा डीबग लॉग
remote: DEBUG:gitosis.gitdaemon:Deny 'syncShare'
remote: DEBUG:gitosis.gitdaemon:Walking 'legacy.d', seeing ['buildtools', 'QA_Dashboard']
remote: DEBUG:gitosis.gitdaemon:Walking 'legacy.d/buildtools', seeing ['.git', 'conf', 'scripts']
remote: Traceback (most recent call last):
etc ...
ए-हा! चूंकि हुक ने भंडार के माध्यम से "चलना" किया था, इसे .git
निर्देशिका legacy.d/buildtools
के तहत मिली थी और यह वही है जहां assert ext == '.git'
हुआ था।
मैंने कुछ अन्य भंडारों से एक साधारण क्लोन स्टोर करने के लिए सर्वर का उपयोग किया था। नोटिस, एक सादा क्लोन, दर्पण या नंगे भंडार नहीं। प्रत्येक क्लोन की तरह इसमें .git निर्देशिका शामिल है।
गिटोसिस में हुक नहीं जानता कि एक .git निर्देशिका के साथ क्या करना है। ऐसा लगता है कि यह एक खाली नाम और aborts में एक भंडार है। एक बार जब मैंने उस क्लोन को मिटा दिया तो सबकुछ अच्छी तरह से काम करना शुरू कर दिया।
या शायद अपने कंसोल को पुनः प्रारंभ करें – Reda