mergetool मर्क्युरियल में, एक बाहरी diff के लिए एक पैटर्न को परिभाषित करने और उपकरण विलय (केवल पैटर्न निर्दिष्ट मिलान फ़ाइलों के लिए इतना है कि वे कहा जाता है) कर सकते हैं:Git: difftool के लिए पैटर्न कॉन्फ़िगर और
[diff-patterns]
**.ext = difftool
[merge-patterns]
**.ext = mergetool
कैसे परिभाषित करने के लिए गिट में ऐसे पैटर्न?
[mergetool] अनुभाग git-config (1) में किसी भी पैटर्न, मास्क या किसी भी समानता का उल्लेख नहीं करता है।
संपादित:
[diff]
tool = difftool
[difftool "difftool"]
cmd = difftool.git.sh "$LOCAL" "$REMOTE" "$BASE"
[merge]
tool = mergetool
[mergetool "mergetool"]
cmd = mergetool.git.sh "$LOCAL" "$REMOTE" "$BASE" "$MERGED"
अब यह सभी फ़ाइलों के लिए काम करता है:
यहाँ मेरी .git/config की प्रासंगिकता का है।
मैं अपने difftool और mergetool चाहते फ़ाइलों के लिए केवल के नाम से जाना के साथ .ext
संपादित समाप्त होने के नामों के साथ:
मैं एक फ़ाइल .git/जानकारी को शामिल किया है/निम्नलिखित सामग्री के साथ जिम्मेदार बताते हैं :
*.ext diff=difftool
*.ext merge=mergetool
मैं भी
जोड़ दिया है 10[diff "difftool"]
name = my custom diff driver
driver = difftool.git.sh %A %B %O
[merge "mergetool"]
name = my custom merge driver
driver = mergetool.git.sh %A %B %O %A
मेरे .git/config पर।
अब मैं चलाने
git difftool
यह मेरी difftool के बजाय KDiff3 कहता है। मुझसे क्या गलती हुई है?
टिप्पणी: मैं मेरेटूल के बजाय difftool के साथ खेल रहा हूं क्योंकि यह परीक्षण करना आसान है और मुझे विश्वास है कि अगर मैं difftool को कॉन्फ़िगर करने का प्रबंधन करता हूं, तो यह मेरे लिए स्पष्ट होगा कि मेरेटूल को कैसे कॉन्फ़िगर किया जाए।
संपादित:
Difftool अब काम करता है।
.git/config:
[diff "difftool"]
command = difftool.git.sh
.git/जानकारी/गुण:
.ext diff=difftool
difftool.git.sh (पथ में)
#!/bin/sh
difftool.jar "$2" "$5"
लेकिन वहाँ है एक विंडोज पर साइड इफेक्ट: git diff
अब एपीसीआरएएसएएसएच में परिणाम।
संपादित:
मैं पता लगा है दुर्घटनाग्रस्त या git diff
की फांसी से बचने के लिए कैसे: एक git difftool
का उपयोग करें या फोन git diff
sh
के माध्यम से करना चाहिए: sh -c "git diff"
क्या यह diff ड्राइवर पर भी लागू होता है? इसे काम करने के लिए प्रबंधित नहीं कर सका। मुझे वास्तव में एक साधारण नमूना की जरूरत है। – utapyngo