2012-07-09 20 views
8

क्या किसी उपयोगकर्ता परिभाषित करने के लिए संघर्ष मार्करों को बदलना संभव है?गिट टकराव मार्कर बदलना

प्रेरणा:

यह मेरे लिए कई बार हुआ है कि, कुछ छोड़ दिया पर मेरे LaTeX दस्तावेज़ में टैग विलय कई शाखाओं की जल्दबाजी में नहीं है और बहुत सावधान विलय करने के लिए, देखते हैं कारण है। अधिकांश प्रोग्रामिंग परियोजनाओं के साथ इन टैगों के परिणामस्वरूप एक वाक्यविन्यास त्रुटि होगी और इसलिए मैं उन्हें खोजूंगा। हालांकि, लेटेक्स में < < < <, ==== और >>>> टैग किसी भी चेतावनी के बिना बस कुछ अन्य चरित्र अनुक्रमों में संकलित किए गए हैं।

इसका समाधान करने के लिए मैं इन संघर्ष मार्करों को किसी ऐसे रूप में बदलना चाहता हूं जो संकलित नहीं होता है, या लीस्ट पर उन्हें स्पॉट करने के लिए बहुत स्पष्ट बनाते हैं (जैसे पेज ब्रेक, विशाल फ़ॉन्ट चेतावनियां, या संकलन संकलन)।

मैं निश्चित रूप से एक (बाश) स्क्रिप्ट बना सकता हूं जो उन सभी मार्करों को मेरी पसंद से बदल देता है, लेकिन मैं इसे इस समस्या के लिए एक और अधिक सुरुचिपूर्ण समाधान पसंद करूंगा।

पीएस मुझे merge.conflictstyle विकल्प मिला है, लेकिन diff3 विकल्प केवल |||| जोड़ता है मार्कर जो चेतावनी के बिना संकलित करता है।

उत्तर

7

भले ही कस्टम टकराव मार्कर लाटेक्स विशिष्ट बनाने का कोई तरीका था (मुझे नहीं लगता कि वहां है लेकिन मैं बहुत गलत हो सकता हूं), सभी मामलों में काम करने वाले किसी को चुनना मुश्किल हो सकता है। एक आसान समाधान गिट के स्टॉक "प्री-प्रतिबद्ध" हुक को सक्षम करेगा, जो प्रतिबद्ध समय पर संघर्ष मार्करों की पहचान करता है और यदि वे मौजूद हैं तो प्रतिबद्धता को अस्वीकार कर देते हैं। इसे सक्षम करने के लिए:

cd <repo> 
mv .git/hooks/pre-commit.sample .git/hooks/pre-commit 

शेयर हुक कि Git के साथ जहाज भी खाली स्थान के त्रुटियों के लिए लग रहा है। जांच के लिए मैन्युअल रूप से चलाने के लिए, इस आदेश का उपयोग करें:

git diff --check 
+0

यह एक आसान समाधान है। जब गलती से फ़ाइल में विलय टैग के साथ फ़ाइल कर रही है तो यह फ़ाइल नाम और लाइन नंबर के साथ 'बचे हुए संघर्ष मार्कर' को प्रिंट करेगा। यह निश्चित रूप से मेरे दस्तावेज़ को सही रखने में मदद करेगा। – Laar

1

शायद तुम एक बड़ी संख्या साथ विशेषता conflict-marker-size बदल सकते हैं। बड़ी संख्या, मेरा मतलब है कि एक संख्या जो लेटेक्स चेतावनी को ट्रिगर करेगी क्योंकि रेखा बहुत लंबी है।

$ cat .gitattributes 
*.tex conflict-marker-size=100 ;# Or whatever makes Latex unhappy 
संबंधित मुद्दे