Pertanyaan Git Difftool Meld Tidak Bekerja di Babun


Saat ini saya menyiapkan difftool Meld untuk bekerja di Babun menggunakan perintah berikut:

git config --global diff.tool meld
git config --global difftool.prompt false
git config --global difftool.meld.path "/cygdrive/c/Program\ Files\ \(x86\)/Meld/Meld.exe"
git config --global difftool.meld.cmd '/cygdrive/c/Program\ Files\ \(x86\)/Meld/Meld.exe $LOCAL $REMOTE'

Ini berfungsi, dan Meld terbuka dengan dua file saat saya menjalankan

git difftool HEAD HEAD^

Namun, file kedua (dari remote) tidak terbuka, dan saya dapatkan

There was a problem opening the file "\tmp\xxx_FILENAME.EXTENSION"

Namun, ketika saya menjalankan difftool dari git bash, ia bekerja. Apakah ada yang salah dalam pengaturan saya?


5
2018-02-02 11:52


asal


Jawaban:


Masalahnya adalah mengakses file temp dari Cygwin. Karena Cygwin memiliki drive sendiri yang perlu saya gunakan cygpath untuk memformat filepaths. Pengaturan lengkap di bawah ini:

git config --global diff.tool meld
git config --global difftool.prompt false
git config --global difftool.meld.path "c:\Program Files (x86)\Meld\Meld.exe"
git config --global difftool.meld.cmd 'c:/Program\ Files\ \(x86\)/Meld/Meld.exe "$(cygpath -w "$LOCAL")" "$(cygpath -w "$REMOTE")"'

5
2018-02-02 12:13