क्या कोई तरीका है कि आप clang-format
को ऐसे मोड में चला सकते हैं जहां यह रिपोर्ट करता है कि फ़ाइल निर्दिष्ट प्रारूप को पूरा करती है या नहीं? एक प्रकार का ड्राई-रन मोड जहां यह रिपोर्ट करता है कि परिवर्तन की आवश्यकता है, लेकिन परिवर्तन नहीं करता है। आदर्श रूप से मुझे फ़ाइल को परिवर्तन की आवश्यकता होने पर एक गैर-शून्य निकास कोड वापस करने के लिए क्लैंग-प्रारूप चाहिए। या, यहां तक कि अधिक आदर्श, एक गैर-शून्य निकास कोड और उन फ़ाइलों की एक सूची जिन्हें मानक आउटपुट पर परिवर्तन की आवश्यकता है।क्या क्लैंग-प्रारूप मुझे बता सकता है कि फ़ॉर्मेटिंग परिवर्तन आवश्यक हैं या नहीं?
मैं सवाल सामान्य रखने की कोशिश कर रहा हूं, ताकि अधिक लोग उत्तर दे सकें, लेकिन जो मैं करने की कोशिश कर रहा हूं वह एक गिट प्री-प्रतिबद्ध हुक लिखता है जो किसी भी काम को अस्वीकार कर देगा जो उम्मीद से मेल नहीं खाता है। -फॉर्मेट सूचकांक में फ़ाइलों की सूची पर क्लैंग-प्रारूप चलाने में आसान है। लेकिन यह जानना मुश्किल है कि क्लैंग-प्रारूप वास्तव में कुछ भी बदल गया है या नहीं।
मेरे पास -output-replacements-xml
(जो मैं एक उत्तर के रूप में पोस्ट करूंगा) पर आधारित एक संभावित समाधान है, लेकिन यह एक हैक है और मुझे लगता है कि यह अधिक सरल होना चाहिए। टिप्पणियां/सुझाव, संपादन, विभिन्न उत्तरों/दृष्टिकोण सभी का स्वागत है।
मुझे आश्चर्य है कि यह एक अधिक लोकप्रिय प्रश्न/उत्तर नहीं है। मैं वही कर रहा हूं जो आप कर रहे हैं। क्या आप इसे करने के लिए पूरे गिट हुक पोस्ट कर सकते हैं? –
उपरोक्त कोड स्निपेट शीर्ष पर '#!/Bin/bash' के अलावा, हुक के लिए आवश्यक सब कुछ होना चाहिए। (मैं पूरी हुक को गस्ट पर रखूंगा लेकिन इसमें अन्य प्रोजेक्ट-विशिष्ट चीजें थीं।) मेरे हुक में एकमात्र अंतर टिप्पणियां थीं जो उपर्युक्त चीजों और क्लैंग-प्रारूप पथ के पूर्ण-योग्यता की व्याख्या करती हैं। –
मेरे दो सेंट: 'diff -u <(cat src/*) <(clang-format src/*)' XML – phs