2012-05-24 18 views
11

में p4merge विलय उपकरण के साथ त्रुटि मैंने p4merge के लिए फ़ाइल को सेट करने के लिए अपना क्लासपाथ सेट किया है .gitconfig, लेकिन वहां मुझे यह त्रुटि मिलती है जब p4merge टूल उन दो फ़ाइलों को चुनने का अनुमान लगाता है जो संघर्ष में हैं। कोई समाधान जानता है?गिट

classpath को जोड़ा गया: "C: \ Program Files \ लाज़िमी \ p4merge.exe":

[merge] 
    tool = p4merge 
[mergetool "p4merge"] 
    cmd = p4merge.exe \\\"$BASE\\\" \\\"$LOCAL\\\" \\\"$REMOTE\\\" \\\"$MERGED\\\" 

त्रुटि संदेश:

Normal merge conflict for 'protected/views/layouts/main.php': 
    {local}: modified file 
    {remote}: modified file 
Hit return to start merge resolution tool (p4merge): 
C:\Program Files (x86)\Git/libexec/git-core/mergetools/p4merge: line 8: p4merge: 
command not found 
protected/views/layouts/main.php seems unchanged. 
Was the merge successful? [y/n] n 
merge of protected/views/layouts/main.php failed 

उत्तर

1

ऐसा लगता है कि यह कर सकते हैं लग रहा है फ़ाइल .gitconfig को जोड़ा गया p4merge नहीं ढूंढें इसलिए सिस्टम गुणों के माध्यम से अपने पाथ पर्यावरण चर में "सी: \ प्रोग्राम फ़ाइलें \ Perforce \" जोड़ने का प्रयास करें।

0

अपने .gitconfig पर पूरा P4merge पथ जोड़ें। यहाँ मेरा है (ध्यान दें कि पथ विभाजक के आसपास यानी ग, फ़्लिप कर रहे हैं:/सी के बजाय: \):

[merge] 
    tool = p4 
[mergetool "p4"] 
    cmd = c:/winprogs/p4merge/p4merge.exe \"$BASE\" \"$LOCAL\" \"$REMOTE\" \"$MERGED\" 
+1

में इस सामग्री को बदलें exe करने के लिए पथ है तो रिक्त स्थान तो यह उद्धरण में होना चाहिए। 'cmd = 'सी:/प्रोग्राम फ़ाइलें/पर्सफोर्स/p4merge.exe' $ BASE $ LOCAL $ रिमोट $ MERGED' – Alex78191

3

तुम भी अगर आप सिर्फ p4merge स्थापित किया है, अद्यतन के लिए अपना Git कंसोल पुनः आरंभ करने की आवश्यकता हो सकती है पंजीकरण करने के लिए पर्यावरण चर।

+0

मदद नहीं की :( – IsmailS

0

आप पर्यावरण चर पथ में p4merge जोड़ने के लिए (दान लिस्टर उल्लेख किया) आप अपना Git config में पैरामीटर पथ जोड़ सकते हैं चाहते हैं `t डॉन हैं:

[mergetool "p4merge"] 
    path = C:/Program Files/Perforce/p4merge.exe 

यह Git v1.7.11 पर मेरे लिए काम करता (WinXP)।

+0

मुझे टैब ऑर्डर रिमोट, बेस, लोकल पसंद नहीं है। यह बेहतर है 'cmd = 'सी:/प्रोग्राम फ़ाइलें/पर्सफोर्स/p4merge.exe' $ BASE $ LOCAL $ रिमोट $ MERGED' – Alex78191

4

यह मेरे लिए काम करता है:

[merge] 
    keepBackup = false; 
    tool = p4merge 
[mergetool "p4merge"] 
    path = C:/Program Files/Perforce/p4merge.exe 
    cmd = \"C:/Program Files/Perforce/p4merge.exe\" "$BASE" "$LOCAL" "$REMOTE" "$MERGED" 
    keepTemporaries = false 
    trustExitCode = false 
    keepBackup = false 
[difftool] 
    prompt = false 
[mergetool] 
    prompt = false 
+0

'डिफ़ॉल्ट रूप से रखें' निर्यातक गलत है। किसी भी मामले में, इसे' mergetool.keepemporporaries 'के रूप में सेट किया जाना चाहिए , 'mergetool नहीं। .keepTemporaries'।' KeepBackup' को '' निर्दिष्ट किए बिना भी सेट किया गया है। – Alex78191

+0

'trustExitCode' को गलत पर सेट नहीं किया जाना चाहिए (यह डिफ़ॉल्ट होना चाहिए - सत्य) – Alex78191

1

बाद मैं P4Merge installaed, मैं इस पृष्ठ पर निर्देशों का पालन किया और यह मेरे लिए पूरी तरह से काम करता है।

https://gist.github.com/tony4d/3454372

+2

ओएसएक्स के लिए यह बहुत बुरा है और ओपी विंडोज पर स्पष्ट रूप से है। – nathanchere

4

क्यों सब कुछ इतनी मेहनत मैं आदेशों मुझे ऐसा क्या किया लिखने के लिए नफरत है?

  1. P4Merge के लिए p4Merge उपकरण प्रपत्र स्थापित here serach और exe स्थापित तो आप की जरूरत है केवल

enter image description here

  1. Windows उपयोगकर्ता

    के रूप में यह स्थापित करें
  2. अपने उपयोगकर्ता की सख्त स्थिति में जाएं और पर खोजें .gitconfig यह संपादित करने और जोड़ने

[mergetool "p4merge"] 
    path = C:\\Program Files\\Perforce\\p4merge.exe 
    cmd = \"C:/Program Files/Perforce/p4merge.exe\" "$BASE" "$LOCAL" "$REMOTE" "$MERGED" 
[merge] 
    tool = p4merge 

इसका उपयोग कैसे करें? जब आप कुछ खींच और संघर्ष है तुम सिर्फ लिख सकते हैं

Git mergetool

और उपकरण खुला होगा।

enter image description here

तल में आप अंतिम संस्करण तुम वहाँ संपादित कर सकते हैं तो बस बचाने के लिए और प्रतिबद्ध और संघर्ष का समाधान हो जाएगा है।

+0

विकल्प 'पथ' आवश्यक नहीं है। – Alex78191

0
These steps worked for me. 

perforce.com

से डाउनलोड करने और अपने प्रोफ़ाइल नाम/ईमेल आईडी के बाद P4Merge उपकरण स्थापित करने के बाद।

अपने ~/.gitconfig फ़ाइल

enter code here 

[merge] 
    keepBackup = false 
    tool = p4merge 
[mergetool "p4merge"] 
    cmd = /Applications/p4merge.app/Contents/Resources/launchp4merge "\"$PWD/$BASE\"" "\"$PWD/$LOCAL\"" "\"$PWD/$REMOTE\"" "\"$PWD/$MERGED\"" 
    keepTemporaries = false 
    trustExitCode = false 
    keepBackup = false 
[diff] 
    tool = p4merge 
[difftool "p4merge"] 
    cmd = /Applications/p4merge.app/Contents/Resources/launchp4merge "\"$REMOTE\"" "\"$LOCAL\""