2010-03-20 14 views
6

पर हुक जोड़ना मैं TortoiseHg का उपयोग कर रहा हूं और अपने रेपो में एक हुक लागू करना चाहता हूं। मेरे रेपो के .hg/hgrc फ़ाइल इस प्रकार है:TortoiseHg

[hooks] 
pretxncommit = python:hg_checksize.newbinsize 

बात यह है कि मैं कहाँ TortoiseHg के PYTHONPATH चर सेट किया गया है पता नहीं है है। मुझए इसे कैसे बदलना है? या मैं अपनी पायथन फ़ाइल कहां रखूं ताकि यह टोर्टोइजएचजी के पायथन दुभाषिया द्वारा दिखाई दे?

मुझे TortoiseHg के दस्तावेज़ों में या Google के माध्यम से हुक का कोई उल्लेख नहीं मिल रहा है?

उत्तर

4

है TortoiseHg में प्रक्रिया में हुक सक्षम करने के लिए आप सी में अपने * .py फ़ाइल डाल चाहिए: \ Program Files \ TortoiseHg \ library.zip। TortoiseHg लाइब्रेरी फ़ाइलों को लाइब्रेरी.ज़िप से लोड करता है।

टोर्टोइजएचजी को पुनर्स्थापित करने का शायद इस चरण को दोहराना होगा।

4

आप जहां चाहें अपनी .py डाल सकते हैं और इसके लिए एक पूर्ण पथ का उपयोग कर सकते हैं। syntax तो

[hooks] 
pretxncommit.myhook = python:/path/to/my.py:newbinsize 
+0

मैं अपने मूल्य के रूप में निम्नलिखित का इस्तेमाल किया। पायथन: सी: \ src \ hooks \ hg_checksize.newbinsize यह काम नहीं करता है। क्या ऐसा इसलिए है क्योंकि विंडोज पथ अलग-अलग लिखा जाना चाहिए? – hekevintran

+3

कार्यशील प्रतिलिपि में फ़ाइल को संदर्भित करना भी संभव है ताकि हुक आसानी से डेवलपर्स के बीच साझा किए जा सकें: pretxncommit.syntax_check = python: bin \ php_syntax_check.py: यदि मेरी कार्यशील प्रति सी: \ project \ में रहती है, तो TortoiseHg सी: \ project \ bin \ php_syntax_check.py के लिए देखें और निर्दिष्ट चेक फ़ंक्शन निष्पादित करें। – JSmitty

+1

यह शायद एक बेहतर जवाब है क्योंकि ' \ lib \ library.zip' संपादित करना बहुत अच्छा अभ्यास नहीं है, सभी उपयोगकर्ताओं को अकेले उपलब्ध होने दें। – bambams

1

जेके का जवाब सही है, हेकेविंट्रान की टिप्पणी के अनुसार उनके पास एक टाइपो है। यह होना चाहिए

pretxncommit.myhook = python:C:\src\hooks\hg_checksize:newbinsize 

यह अजगर-फ़ाइल और विधि के बीच एक कॉलन होना चाहिए, अवधि नहीं (Win7 पर एचजी 1.5.1 के साथ पुष्टि की)