एक गिट भंडार के लिए एक PHP वाक्यविन्यास जांच हुक बनाने की कोशिश कर रहा है। मैं खुश था जब मुझे एक कोड स्निपेट मिला जो वास्तव में करता है।गिट हुक वाक्यविन्यास चेक
लेकिन ऐसा लगता है कि स्निपेट स्क्रिप्ट में कोई दोष है। यह सूचकांक में फ़ाइलों की एक सूची प्राप्त करने के लिए
git diff-index --cached --name-only HEAD
निष्पादित करता है। अब यह उस सूची में प्रत्येक फ़ाइल के लिए php -l चलाता है। दोष यह है कि एक कार्यशील प्रतिलिपि और स्टेजिंग क्षेत्र के बीच एक फ़ाइल भिन्न हो सकती है। यदि स्टेजिंग एरिया php में सिंटैक्स त्रुटि है, लेकिन वर्किंग कॉपी संस्करण नहीं है, कोई वाक्यविन्यास त्रुटि नहीं मिली है और कमिट सफल होता है जो रोकने के लिए चीज था।
क्या यह हल करने के लिए एक अनौपचारिक समस्या है, या प्रत्येक फ़ाइल के स्टेजिंग संस्करण पर php -l चलाने का कोई तरीका है?
+1 एक काम करने वाले हुक के लिए +1। – VonC
हां, यह लेख से हुक से बेहतर है। – zedoo
हुक बहुत अच्छा है, हालांकि इसमें थोड़ा बदलाव की आवश्यकता है ताकि मैं इसका उपयोग कर सकूं। मुझे 'कट' कमांड – cwhsu