2010-08-04 14 views
12

जब एक diff git diff का उपयोग कर देखने, प्रत्येक परिवर्तन की तरह लाइन के साथ शुरू होता है:अनुकूलित शीर्षकों

@@ -28,41 +20,10 @@ namespace ConsoleApplication1 

सी के लिए, अंतिम भाग काफी वर्णनात्मक है - यह उदाहरण के लिए समारोह, जिसमें परिवर्तन हुआ चलता । लेकिन सी # के लिए, यह केवल नामस्थान दिखाता है, जो बहुत उपयोगी नहीं है। मुझे लगता है कि ऐसा इसलिए है क्योंकि यह अंतिम पंक्ति दिखाता है जो इंडेंट नहीं है। क्या इसे कॉन्फ़िगर करने का कोई तरीका है?

+0

क्या आपने एक अच्छी कॉन्फ़िगरेशन प्राप्त करने का प्रबंधन किया था? मैंने * .cs diff = csharp की कोशिश की, लेकिन मुझे अभी भी नामस्थान मिलते हैं। diff = जावा बेहतर काम करता है .. – elmarco

+0

हाँ, यह मेरे लिए काम करता है, क्या आपके पास हाल ही में गिट का पर्याप्त संस्करण है? diff = csharp 1.7.3 के बाद से काम करना चाहिए। – svick

+0

1.7.10 डेबियन अस्थिर से, मैं बाद में खोदने की कोशिश करूंगा, क्योंकि अब जावा ठीक है :) – elmarco

उत्तर

16

मैं इसे पाया है, लाइन हंक हैडर कहा जाता है और the documentation यह अनुकूलित करने के लिए कैसे का कहना है:

एक कस्टम हंक हेडर परिभाषित

परिवर्तन के प्रत्येक समूह में (एक "हंक" कहा जाता है) टेक्स्टुअल डिफ आउटपुट फॉर्म की एक पंक्ति के साथ प्रीफ़िक्स्ड है:

@@ -k,l +n,m @@ TEXT 

इसे एक हंक हेडर कहा जाता है। "टेक्स्ट" भाग डिफ़ॉल्ट रूप से एक रेखा है जो वर्णमाला, अंडरस्कोर या डॉलर के चिह्न से शुरू होता है; यह मेल खाता है जीएनयू diff -p आउटपुट का उपयोग करता है। यह डिफ़ॉल्ट चयन हालांकि कुछ सामग्री के लिए उपयुक्त नहीं है, और आप चयन करने के लिए एक अनुकूलित पैटर्न का उपयोग कर सकते हैं।

सबसे पहले, .gitattributes में, आप पथ के लिए diff विशेषता असाइन करेंगे।

*.tex diff=tex 

उसके बाद, आप एक नियमित अभिव्यक्ति है कि एक पंक्ति है कि आप हंक हैडर "पाठ" के रूप में प्रकट करने के लिए चाहते हो जाएगा मेल खाता निर्दिष्ट करने के लिए एक "diff.tex.xfuncname" विन्यास को परिभाषित करेगा। अपने $GIT_DIR/config फ़ाइल (या $HOME/.gitconfig फ़ाइल) इस तरह के एक अनुभाग जोड़ें:

[diff "tex"] 
     xfuncname = "^(\\\\(sub)*section\\{.*)$" 

नोट। कॉन्फ़िगरेशन फ़ाइल पार्सर द्वारा बैकस्लाश का एक स्तर खाया जाता है, इसलिए आपको बैकस्लाश को दोगुना करना होगा; उपरोक्त पैटर्न एक रेखा को चुनता है जो बैकस्लैश से शुरू होता है, और शून्य के शून्य या अधिक घटनाओं के बाद खंड के अंत तक खुली ब्रेस के बाद अनुभाग होता है।

3

gitattributes manpage देखें, "जेनरेटिंग डिफ टेक्स्ट" अनुभाग, और उदा। diff.csharp.xfuncname कॉन्फ़िगरेशन (xfuncname के लिए खोजें)।

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