2015-09-23 111 views
15

我經常使用Atlassian SourceTree(在Mac OS X上)啓動FileMerge來解決git合併衝突。突然之間它已停止工作:當我右鍵單擊並選擇Resolve Conflicts > Launch External Merge Tool時,FileMerge啓動,創建其中間文件,然後立即退出。 SourceTree將此解釋爲合併過程完成。FileMerge從SourceTree啓動後立即退出

什麼問題,我該如何調試/修復它?

我注意到前面的問題'SourceTree filemerge quits immediately and creates 4 files. How to fix it?'沒有解決這個特定的場景(一個,它說FileMerge在標題中退出,但是在FileMerge中顯示FileMerge顯示/ dev/null作爲一個面板。 ,我的合併衝突不是由於刪除的文件造成的。)

回答

6

如果Xcode最近更新了自己,您可能需要同意新的許可條款。如果您尚未同意許可條款,則FileMerge(從SourceTree啓動時)將立即退出。

要檢查這一點,打開shell並運行爲你平時的用戶:

$ opendiff 

如果許可證的問題,它會告訴你。以同意新的許可條款,則需要使用sudo運行開放DIFF:

$ sudo opendiff 

同意許可條款後,您現在可以重試使用Resolve Conflicts > Launch External Merge Tool從SourceTree啓動FileMerge。 FileMerge應該啓動並正常運行。

+3

它說'opendiff xcode選擇:錯誤:工具'opendiff'需要Xcode,但活動開發人員目錄'/ Library/Developer/CommandLineTools'是一個命令行工具實例' – KarenAnne

25

爲了診斷問題,我從終端運行opendiff。我收到以下錯誤:

xcode-select: error: tool 'opendiff' requires Xcode, but active developer directory '/Library/Developer/CommandLineTools' is a command line tools instance

解決:

  1. 打開的Xcode>首選項>位置
  2. 點擊下拉框旁邊命令行工具和選擇當前Xcode版本。 (這對我來說是空的,因爲我最近在一個新的Mac安裝的Xcode。)

Command Line Tools

  • 運行opendiff在終端一遍,上面的錯誤不應該更長時間出現
  • 現在FileMerge將從SourceTree正確打開,當你點擊啓動外部合併工具

    +0

    問題解決了,簡單修復感謝芽! :) – emotality

    +0

    非常感謝。我遇到了同樣的問題,並發現它必須與XCode相關,但不知道如何修復它。 – Ray

    +0

    @射你非常歡迎。 :) – ChrisJF

    4

    對我來說,SourceTree甚至沒有啓動FileMerge。點擊啓動外部合併工具什麼都沒有發生。

    此外,在終端中運行opendiff預期一樣:

    $ opendiff 
    opendiff[64176:5561154] too few arguments 
    opendiff[64176:5561154] usage: opendiff file1 file2 [-ancestor ancestorFile] [-merge mergeFile] 
    

    什麼幫助了我是手動配置SourceTree通過opendiff命令使用以下參數使用FileMerge:$LOCAL $REMOTE -ancestor $BASE -merge $MERGED

    SourceTree manually configure to use opendiff

    這樣,SourceTree按預期打開FileMerge。

    +0

    同樣在這裏,但我不知道爲什麼它不工作時,只需設置文件合併 – MegaManX

    3

    這也適用於解決該消息「的Xcode選:錯誤:工具‘了opendiff’需要的Xcode,但活躍的開發目錄‘/資源庫/開發/ CommandLineTools’是一個命令行工具,例如」

    sudo xcode-select -s /Applications/Xcode.app/Contents/Developer 
    
    +1

    即確保您的Xcode選擇實際上是指向實際Xcode實例的'/ Contents/Developer'子目錄。有幫助,謝謝 –

    +0

    我的實例沒有這樣的目錄,任何提示? – Matt

    +0

    你從appstore下載了xcode嗎? – fabe

    相關問題