बाह्य मर्ज उपकरण का उपयोग करना SourceTree पर काम नहीं करता है


6

मैं दौड़ रहा हूं OS X.10, Xcode 7और SourceTree 2

जब मैं एक विवादित फ़ाइल का चयन करता हूं और Launch an external merge tool, एक खिड़की होती है जो बहुत संक्षेप में प्रकट होती है ... और फिर कुछ भी नहीं होता है

मैंने कोशिश की ( यह सहायता पृष्ठ देखें ) sudo ln -s /Developer/usr/bin/opendiff /usr/bin/opendiffलेकिन यह काम नहीं किया (मुझे संदेश मिला ln: /usr/bin/opendiff: File exists)।

मुझे क्या करना चाहिए?

पुनश्च:

यहां खिड़की की एक तस्वीर है जो संक्षेप में दिखाई देती है।

यहां छवि विवरण दर्ज करें

पी पी एस:

यहाँ SourceTree वरीयताएँ हैं:

यहां छवि विवरण दर्ज करें


ध्यान दें कि मदद पृष्ठ कहते हैं कि यह Xcode 4.2 के लिए है और कुछ साल पहले लिखा गया था - आपके पास Xcode का कौन सा संस्करण है? ऐसा कुछ भी जो / usr / bin में chnage चीजें कहता है, एक संदिग्ध स्रोत है और अब El Capitan में काम नहीं करेगा। इसके अलावा त्रुटि इसलिए है क्योंकि आपके पास पहले से ही / usr / bin / opendiff है इसलिए पूरा परिवर्तन व्यर्थ है
मार्क

क्या आप Xcode चलाते हैं और लाइसेंस शर्तों पर सहमत हैं
मार्क

मैं Xcode 7 वास्तव में चलाता हूं! (लेकिन क्या इससे वास्तव में कोई फर्क पड़ता है?)
कोलास

क्या आपने कमांड लाइन उपकरण स्थापित किया है? टर्मिनल में चलने पर क्या करता है / usr / bin / opendiff दिखाता है
मार्क

2015-11-04 17:11:32.360 opendiff[10848:132187] too few arguments 2015-11-04 17:11:32.365 opendiff[10848:132187] usage: opendiff file1 file2 [-ancestor ancestorFile] [-merge mergeFile]
कोला 11

जवाबों:


2

मान लें कि आप SourceTree के नवीनतम संस्करण पर हैं (संस्करण 2.0.5.5 (2.0.5.5))

निम्नलिखित को अपने .gitconfig में मैन्युअल रूप से जोड़ने का प्रयास करें (या सत्यापित करें कि SourceTree ने इन सटीक पंक्तियों को रखा है)

[mergetool "sourcetree"]
    cmd = /Applications/SourceTree.app/Contents/Resources/opendiff-w.sh \"$LOCAL\" \"$REMOTE\" -ancestor \"$BASE\" -merge \"$MERGED\"
    trustExitCode = true

0

मेरी समस्या यह थी कि मैं Xcode का पिछला संस्करण चला रहा था और मैंने कमांड लाइन टूल सेट नहीं किया था।

Xcode की प्राथमिकताओं में उपकरण चुनें -> स्थान:

यहां छवि विवरण दर्ज करें

फिर इस आदेश को सत्यापित करने के लिए टर्मिनल में चलाएँ:

git config --global -l

अन्य कमांड जानकारी के बीच, git कमांड डिफरेंशियल टूल के लिए रास्ता प्रिंट करेगा। यदि इसे कॉन्फ़िगर नहीं किया गया है, तो यह निम्नलिखित की तर्ज पर किसी चीज़ के साथ एक त्रुटि उत्पन्न करेगा:

xcrun: error: invalid active developer path (/Library/Developer/CommandLineTools),
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.