L'utilizzo di uno strumento di unione esterno non funziona su SourceTree

5

Sto eseguendo OS X.10 , Xcode 7 e SourceTree 2 .

Quando seleziono un file in conflitto e Launch an external merge tool , c'è una finestra che appare molto brevemente ... e poi non succede niente .

Ho provato (vedi questa pagina di aiuto ) sudo ln -s /Developer/usr/bin/opendiff /usr/bin/opendiff ma non ha funzionato ( Ho ricevuto il messaggio ln: /usr/bin/opendiff: File exists ).

Che cosa dovrei fare?

PS:

Ecco un'immagine della finestra che appare brevemente.

PPS:

EccolepreferenzediSourceTree:

    
posta Colas 04.11.2015 - 16:26
fonte

2 risposte

2

Supponendo che tu sia sull'ultima versione di SourceTree (versione 2.0.5.5 (2.0.5.5))

Prova ad aggiungere manualmente i seguenti comandi a .gitconfig (o verifica che SourceTree abbia messo queste righe esatte)

[mergetool "sourcetree"]
    cmd = /Applications/SourceTree.app/Contents/Resources/opendiff-w.sh \"$LOCAL\" \"$REMOTE\" -ancestor \"$BASE\" -merge \"$MERGED\"
    trustExitCode = true
    
risposta data 11.11.2015 - 10:13
fonte
0

Il mio problema era che stavo usando una versione precedente di Xcode e non avevo impostato gli strumenti da riga di comando.

Seleziona gli strumenti nelle preferenze di Xcode - > posizioni:

Quindi esegui questo comando nel terminale per verificare:

git config --global -l

Il comando git stamperà il percorso per lo strumento diff, tra le altre informazioni di configurazione. Se non è configurato, verrà visualizzato un errore con qualcosa del tipo:

xcrun: error: invalid active developer path (/Library/Developer/CommandLineTools),
    
risposta data 24.04.2017 - 21:07
fonte

Leggi altre domande sui tag