2011-08-29 14 views
9

में हुक स्थापित करने के लिए मैंने सभी the documentation about hooks, similarquestions और a lot of code पढ़ा है लेकिन मैं ट्रैक नहीं कर सकता कि मेरी प्रक्रिया में त्रुटि कहां है। मैं अपने gitolite स्थापना (CentOS पर एक rpm पैकेज के साथ बनाया) में एक साधारण हुक स्थापित करने की आवश्यकता इसलिए यहाँ है मैं क्या किया:गिटोलाइट

gitolite (कुछ समय पहले) स्थापित करने के लिए:

  1. स्थापित rpm पैकेज
  2. # su - gitolite
  3. $ gl-setup /tmp/fabio.pub (उपयोगकर्ता gitolite के रूप में)

अब हुक स्थापित करने के लिए:

0,123,
  1. हुक कोड के साथ एक नमूना फ़ाइल post-updatestated here

के रूप में फिर से उस पर

  • रन gl-setup /tmp/fabio.pub~gitolite/.gitolite/hooks/common और chmod +x में बनाया गया लेकिन कुछ नहीं हुआ, नवीनतम आदेश से बाहर निकलने स्थिति है 0, लेकिन हुक फ़ाइल किसी भी भंडार में symlinked नहीं है। तो मेरी प्रक्रिया में क्या गलत है? क्या मुझे कुछ याद आया है?

    बोनस सवाल:

    1. अगर मैं डॉक मेरी प्रक्रिया सही एक है समझा था? अर्थात। जब भी मैं किसी भी हुक को अद्यतन करता हूं तो क्या मुझे ग्ल-सेटअप चलाया जाना चाहिए?
    2. इस तरह से मैं इस गिटोलाइट स्थापना के तहत प्रत्येक संग्रह में साझा हुक स्थापित करता हूं, क्या यह सही है? क्या मैं मैन्युअल रूप से किसी भी हुक को केवल सिमलिंक के रूप में या किसी दिए गए भंडार के लिए केवल एक निष्पादन योग्य स्क्रिप्ट स्थापित कर सकता हूं? क्या मुझे मैन्युअल रूप से दिए गए भंडार के हुक फ़ोल्डर में ऐसा करना चाहिए? क्या मुझे हुक संघर्षों की परवाह करनी चाहिए (यानी एक ही भंडार के लिए किसी भी कस्टम हुक को किसी भी नाम के साथ किसी अन्य साझा हुक को अवरुद्ध करना चाहिए)? इस मामले को, मेरे gitolite संस्करण 1.5.9.1 है अगर

    पता नहीं है।

  • उत्तर

    0

    मुझे अभी पता चला है कि अगर मैं /usr/share/gitolite/hooks/common/ में अपना हुक नमूना कॉपी करता हूं तो यह gl-setup द्वारा सिम्लिंक किया जाएगा। शायद इस पैकेज में $GL_ADMINDIR चर किसी कारण से सेट नहीं है। दो बोनस प्रश्न अभी भी खड़े हैं ...

    0

    आपको निर्देशिका में update.secondary हुक जोड़ने की आवश्यकता है, फिर gl-easyinstall के साथ पुन: नियोजित करें। गिटोलाइट के साथ आने वाले अपडेट हुक पर एक नज़र डालें। आप देखेंगे कि अंत में, यह update.secondary पर कॉल करता है। यदि आप इसे प्रदान करते हैं, तो यह काम करेगा।

    +0

    मुझे अपडेट हुक की आवश्यकता नहीं है, इसलिए मुझे नहीं लगता कि यह मेरी समस्या का समाधान करेगा। इसके अलावा मैंने एक पैकेज से स्थापित किया है, इसलिए मुझे लगता है कि मेरा आदेश 'gl-easyinstall' नहीं है लेकिन' gl-setup' है। – Fabio

    +0

    आप गिटोलाइट क्लोन में हुक अपडेट करते हैं और फिर आसान इंस्टॉल स्क्रिप्ट को फिर से चलाते हैं। आपके हुक का उद्देश्य क्या है? अधिकांश चीजें अद्यतन हुक के माध्यम से की जाती हैं। –

    +0

    [यह मुझे हुक है] (https://github.com/kahseng/redmine_gitolite_hook/blob/master/contrib/hooks/post-receive-redmine_gitolite)। मैं बस 'gl-easyinstall' नहीं चला सकता क्योंकि मेरे पास स्थानीय क्लोन नहीं है क्योंकि मैंने [पैकेज विधि] का उपयोग करके गिटोलाइट स्थापित किया है (https://github.com/sitaramc/gitolite/blob/pu/doc /1-INSTALL.mkd#_package_method)। – Fabio

    1

    गिटोलाइट v3 में आप चुन सकते हैं कि .gitolite.rc में अपने हुक संपादन को कहां रखा जाए। अधिक विकल्पों के लिए फ़ाइल स्रोत देखें (उदाहरण के लिए प्रति रेपो कस्टम हुक सक्षम करना)

    फिर आप अपने हुक निर्दिष्ट डीआईआर में डालते हैं, उन्हें निष्पादन योग्य बनाते हैं और gitolite setup --hooks-only चलाते हैं।

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