2014-06-26 8 views
8

मैं अपने सभी व्हाइटस्पेस सुधारों को अपने स्वयं के प्रतिबद्धता में प्रतिबद्ध करना चाहता हूं, ताकि सबकुछ सफेद जगहों से शुद्ध हो सके।क्या गिट diff के साथ * केवल * सफेद जगह अंतर दिखाने के लिए कोई तरीका है?

यह इस

git diff --ignore-all-space --ignore-space-change --ignore-space-at-eol --ignore-blank-lines 

की तरह कुछ का उपयोग कर git diff साथ बाहर खाली स्थान के मतभेदों को फिल्टर करने के लिए आसान है, लेकिन मैं केवल खाली स्थान के मतभेद की एक सूची कैसे प्राप्त करूं है?

(यह भी फाइलों केवल खाली स्थान के मतभेद हैं की एक सूची प्राप्त करने के लिए उपयोगी होगा, तो मैं बस add उन सब git add -p साथ उन के माध्यम से जा रहा बिना खाली स्थान के मतभेदों को दूर लेने के लिए कर सकते हैं। लेकिन मुझे लगता है कि माध्यमिक है।)

+1

'diff -u <(Git diff --stat --ignore-सब-अंतरिक्ष --ignore-अंतरिक्ष परिवर्तन --ignore अंतरिक्ष-एट-EOL --ignore रिक्त लाइनों) <(गिट diff --stat) 'आपके दूसरे प्रश्न के लिए, शायद? – Ryan

उत्तर

3

यहाँ एक तरह से आप यह कर सकते हैं:

  • एक साफ कार्यशील निर्देशिका के साथ शुरू (जैसे git reset --hard)
  • उपयोग Whitespace Total Fixer साफ करने के लिए सभी सफेद जगह त्रुटियों को ऊपर। वहाँ विकल्पों को ठीक करने या विभिन्न मुद्दों की अनदेखी करने हैं, लेकिन डिफ़ॉल्ट ठीक हो सकता है:

    find . -name "*.whatever_extension_you_need" -exec wtf.py -v -i {} \; 
    
  • git diff अब दिखा देंगे केवल रिक्त स्थान में परिवर्तन

  • स्टेज और रिक्त स्थान को केवल-परिवर्तन हो।

(Fwiw, मैं wtf.py लिखा है, मैं माफी चाहता हूँ अगर यह बेशर्म स्वयं को बढ़ावा देने की तरह लगता है, लेकिन मैं इसे विशेष रूप से इस तरह स्थितियों में, जहां भंडार बार बार है कि गम ऊपर खाली स्थान के मुद्दों के साथ दूषित हो जाता है के लिए लिखा अपने काम करता है।)

आप का उपयोग पर भी इन-प्लेस फ़िक्सिंग के बजाय व्हाइटस्पेस त्रुटियों के लिए कर सकते हैं; यह आपकी फ़ाइलों को प्रभावित नहीं करेगा, लेकिन यह उन समस्याओं के बारे में stderr को एक (उम्मीदवार सहायक) संदेश मुद्रित करेगा।

> find . -name "*.whatever_extension_you_need" -exec wtf.py -v {} \; > /dev/null 

nightmare.txt LINE 8: WARNING: spaces followed by tabs in whitespace at beginning of line 
nightmare.txt: 
    CHOPPED 1 lines with trailing space 
    CHOPPED 0 blank lines at EOF 
    ADDED newline at EOF 
    CHANGED 1 line endings which didn't match crlf from first line 
    WARNED ABOUT 1 lines with tabs/spaces mix 
+2

मेरी राय में लापरवाह आत्म-प्रचार के साथ कुछ भी गलत नहीं है! इसे लिखने के लिए धन्यवाद और उत्तर के लिए धन्यवाद। जब मुझे मौका मिलता है तो मैं इसका परीक्षण करूंगा। – iconoclast

+0

ग्रेट, बग रिपोर्ट/सुझाव स्वागत है :) –

+1

सबसे अच्छी मूल कहानी कभी :) – cxw

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