2012-08-30 27 views
7

मैं सर्वर से अपने स्थानीय Git रेपो धक्का के बाद के लिए हुक प्राप्तgitolite पद विशिष्ट नंगे रेपो

$ cd /Users/me/Sites 
$ git pull 
$ exit 

मैं कुछ सवाल यहाँ देखा है और वे $ HOME में हुक का उल्लेख/gitolite/हुक,

लेकिन यहाँ है कि मैं क्या साथ काम कर रहा हूँ:

012,
[email protected]:gitolite $ pwd 
/Users/git/gitolite 
[email protected]:gitolite $ ls 
.git/     README.txt   install* 
CHANGELOG    check-g2-compat*  src/ 
COPYING    convert-gitosis-conf* t/ 

मैं एक विशिष्ट नंगे रेपो के लिए पोस्ट-प्राप्त हुक कैसे जोड़ूं?

अगर मैं अपने नंगे रेपो में जाने:

[email protected]:bare-repo.git $ ls hooks 
applypatch-msg.sample*  pre-rebase.sample* 
commit-msg.sample*   prepare-commit-msg.sample* 
post-update.sample*  [email protected] 
pre-applypatch.sample*  update.sample* 
pre-commit.sample* 

मैं एक के बाद प्राप्त हुक नहीं दिख रहा। क्या देता है?

उत्तर

7

अद्यतन अगस्त 2013, नवीनतम gitolite साथ: अब आप official specific repo hook है:

यह मूल रूप से बस (gitolite-admin रेपो को छोड़कर)

$rc{LOCAL_CODE}/hooks/repo-specific अंदर कुछ फ़ाइल की ओर इशारा करते <repo.git>/hooks में एक सिमलिंक बनाने है

मूल उत्तर (

सबसे पहले, यदि आप gitolite वी 3 का उपयोग कर रहे हैं, तो आप किसी भी हुक एक post-receive हुक सहित परिभाषित कर सकते हैं, (update हुक को छोड़कर, using hooks देखें): पहले से, gitolite V2 साथ, pre-receive हुक आरक्षित किया गया।

अब आप gitolite-admin/common/hooks स्थानीय क्लोन निर्देशिका में कॉपी, और gitolite सर्वर से gitolite-admin धक्का वापस द्वारा एक हुक जोड़ सकते हैं: gitolite सुनिश्चित करें कि हुक के लिए सभी नंगे रेपोस यह प्रबंधन करता घोषित किया जाता है कर देगा।

आप सीधे अपने हुक सर्वर पर $LOCAL_CODE "rc" चर द्वारा डिजाइन एक अलग स्थान पर जोड़ सकते हैं ("rc" अपने gitolite.rc config file में परिभाषित करने का मतलब है): $LOCAL_CODE/hooks/common। "customizing gitolite" देखें।
विचार यह सुनिश्चित करना है कि एक गिटोलाइट अपग्रेड आपके किसी भी कस्टम प्रोग्राम को मिटा नहीं देता है।

बस एक 'के बाद प्राप्त होता है' फ़ाइल, निष्पादन योग्य (chmod 755) को परिभाषित है, और यह अपनी पसंद का common/hooks निर्देशिका (gitolite-admin स्थानीय रेपो प्लस git push, या .gitolite सर्वर पर, या $LOCAL_CODE सर्वर पर) में कॉपी।
नोट: यह तथ्य कि आपको 'post-receive.sample' फ़ाइल नहीं दिखाई देती है, वह आपको उस हुक को परिभाषित करने से नहीं रोकती है।
यदि सर्वर पर सीधे किया जाता है, तो आपको अपने कस्टम हुक पर नंगे रेपो पर सेट करने के लिए gitolite setup --hooks-only चलाने की आवश्यकता है।

आप कभी भी ऐसा नहीं करेंगे कि इसे सीधे अपने bare-repo.git/hooks निर्देशिका में से एक पर कॉपी करें: यह आपके सभी नंगे रेपो में "सामान्य" हुक प्रकाशित करने के लिए गिटोलाइट का काम है।
इस तरह, आप उन्हें सीधे gitolite-admin रेपो में से किसी क्लोन के माध्यम से प्रबंधन कर सकते हैं (वापस धक्का कि रेपो किसी भी हुक है कि आप परिवर्तित हो सकता है अद्यतन करेगा)।

"सभी नंगे रेपो" का अर्थ है अपने post-receive हुक पता होना चाहिए क्या नंगे रेपो यह पर चल रही है:
आप ऐसा कर सकते हैं द्वारा checking the value of $GIT_DIR (नंगे रेपो इस हुक चल रहा है, जिस पर की जड़ .git निर्देशिका के लिए सेट)।

अंत में, post-receive हुक के इस प्रकार के लिए, "Git checkout in post-receive hook: “Not a git repository '.'" देखें:
आप अपने git pull सफल होने के लिए आदेश में GIT_DIR और GIT_WORK_TREE स्पष्ट गंतव्य रेपो को परिभाषित करने की जरूरत।

GIT_WORK_TREE=/Users/me/Sites GIT_DIR=/Users/me/Sites/.git git pull 
+1

मैं सेटअप रेपो विशेष-हुक (v3) का उपयोग कर की कोशिश की है: ** 1 ** मैं बनाया 'LOCAL_CODE =>,' में "$ ENV {गृह}/gitolite/स्थानीय।" rc ** 2 ** मैं जोड़ने ' 'रेपो विशेष-हुक',' आर सी में सरणी को सक्षम करने के ** 3 ** मैं dir 'स्थानीय/हुक/रेपो विशिष्ट बनाया /' मेरी gitolite-व्यवस्थापक में, प्रतिबद्ध और धक्का दिया कि ** 4 ** मैं स्ट्रिंग जोड़ें: 'विकल्प hook.post-प्राप्त conf में = deploy' /' testing' रेपो के लिए gitolite.conf, बनाई गई फ़ाइल 'स्थानीय/हुक/रेपो विशिष्ट/में deploy' 0755 के साथ conf फ़ाइल, और प्रतिबद्ध है और उन्हें धक्का दे दिया ... ** 5 ** मैं प्रतिबद्ध किए/परीक्षण रेपो को धक्का, हुक निकाल दिया नहीं गया था, क्या मैं गलत किया ? सुनिश्चित करें कि आप नवीनतम gitolite हालांकि बनाती हैं: –

+0

सिमलिंक यहाँ नहीं भी, किसी भी सफलता –

+0

बिना 'gitolite सेटअप --hooks-only' चलाने के लिए @eicto मैं gitolite में रेपो विशेष हुक के लिंक के साथ था जवाब संपादित किया है की कोशिश की। – VonC

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

  • कोई संबंधित समस्या नहीं^_^