2011-10-18 8 views
7

मैं अपने gitconfig फ़ाइल में एक उपनाम आदेश जोड़ने की कोशिश कर रहा हूं और यह मैंने जो लाइन जोड़ा है उस पर "खराब कॉन्फ़िगरेशन फ़ाइल" की रिपोर्ट करता है। मुझे संदेह है कि यह sed कमांड और कुछ बचने वाले मुद्दों के साथ कुछ करने के लिए है, लेकिन मुझे नहीं पता कि यह वास्तव में क्या होना चाहिए। यहाँ आदेश, है लाइनब्रेक साथ स्पष्टता के लिए कहा:एक gitconfig फ़ाइलों में उपनाम आदेशों से बचने

impact = !git ls-files -z 
     | xargs -0n1 git blame -w -C 
     | sed -r 's/^[^(]+\((.*) [0-9]{4}-.*/\1/' 
     | sed -r 's/ +$//' 
     | sort -f 
     | uniq -c 
     | sort -nr 
+0

आप उस कोड को शेल स्क्रिप्ट में क्यों नहीं डालते? –

+0

हाँ मैंने इसके बारे में सोचा, लेकिन इसे 'गिट इफेक्ट' के रूप में कॉल करने के लिए बहुत साफ महसूस होता है ... मुझे लगता है कि मैं इसे एक शेल स्क्रिप्ट में डाल सकता हूं और फिर स्क्रिप्ट में उपनाम जोड़ सकता हूं ... – nickf

+0

@nickf I पुष्टि आपका उपनाम काम करता है (बिना किसी शेल स्क्रिप्ट रैपर) – VonC

उत्तर

8

मुझे लगता है यह \ 'है, जो दोगुनी किए जाने की आवश्यकता के बारे में अधिक है।

मैंने बिना किसी त्रुटि संदेश के '\\' के साथ अपने उपनाम की कोशिश की।

impact = !git ls-files -z 
     | xargs -0n1 git blame -w -C 
     | sed -r 's/^[^(]+\\((.*) [0-9]{4}-.*/\\1/' 
     | sed -r 's/ +$//' 
     | sort -f 
     | uniq -c 
     | sort -nr 
+0

बस उपनाम का परीक्षण किया: यह काम करना प्रतीत होता था। – VonC

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