2013-05-03 6 views
6

गिट indent/सुंदरता/सी ++ स्रोत फ़ाइलों के दो संस्करणों को सुंदर करने से पहले उन्हें अलग करने से पहले कोई तरीका है?गिट डिफ इंडेंट/सुंदर प्रिंट/डिफ

मुझे लगता है कि मेरा लक्ष्य स्पष्ट है: मैं नहीं चाहता कि कुछ बंदर (जैसे मेरे) ने ऑटो प्रारूप को हिट करने के बाद गिट को कुछ बेवकूफ आईडीई द्वारा पेश किए गए परिवर्तनों के असंख्य दिखाए।

उदाहरण का उपयोग: मैंने git difftool --indent-before-diffing path/to/file मारा और path/to/file के मूल संस्करण के बाद परिवर्तन प्राप्त करें और path/to/file के संशोधित संस्करण को इंडेंट किया गया है।

उत्तर

8

आपको लगता है कि आप के लिए खिसकने करता है एक आवेदन पत्र प्राप्त कर सकते हैं, तो आप इस्तेमाल कर सकते हैं विधि odt फ़ाइलों के लिए वर्णित here:

अपने .gitattributes फ़ाइल में निम्न पंक्ति जोड़ें:

*.odt diff=odt

[diff "odt"] 
    binary = true 
    textconv = /usr/local/bin/odt-to-txt 
:

अब .git/config में odt diff फिल्टर की स्थापना

*.cpp diff=cpp 

और .git/config में:

[diff "cpp"] 
    binary = true 
    textconv = /path/to/indenter 

के रूप में टिप्पणी में कहा, GNU Indent इंडेंट के लिए इस्तेमाल किया जा सकता

तो सी ++ फ़ाइलों के लिए यह कुछ इस तरह होगा।

+1

यह एक बहुत अच्छा जवाब है !! धन्यवाद! यह अभी भी मामूली नकारात्मकता है कि मैं आसानी से नहीं कर सकता (यानी कमांड लाइन स्विच द्वारा) सुविधा को बंद कर दें। मैं इसे कुछ दिनों में सही उत्तर के रूप में चिह्नित करूंगा जब तक कि कोई ऐसा समाधान न उठाए जिसे सीधे 'git diff' कमांड में सक्षम/अक्षम किया जा सके। – Hinton

+1

ऐसा कोई "एप्लिकेशन" जीएनयू 'इंडेंट' होगा, जिस संभावना से किसी ने इससे पहले नहीं सुना है ... – Hinton

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