我用@ VonC的excellent instructions來配置我的開發系統,以便git difftool <BRANCH1> <BRANCH1>
將調用WinMerge。下面是我做的:WinMerge通過git difftool不斷提示第二個文件
擺在
~/.gitconfig
如下:[DIFF]
tool = winmerge
[difftool 「的WinMerge」]
cmd = winmerge.sh \"$LOCAL\" \"$REMOTE\"
[difftool]
prompt = false
創建一個
/usr/bin/winmerge.sh
具有以下內容:echo Launching WinMergeU.exe: $1 $2
"C:/Program Files (x86)/WinMerge/WinMergeU.exe" -e -ub "$1" "$2"
現在,當我嘗試通過git difftool <BRANCH1> <BRANCH1>
推出的WinMerge,我得到什麼似乎是參數傳遞正確:
Launching WinMergeU.exe: /tmp/21qMVb_file1.c /tmp/1ACqik_file1.c
但是,由於一些奇怪的原因,而不是WinMerge並排顯示兩個文件,它提示輸入第一個文件作爲右側,第二個文件接受爲左側:
爲什麼會發生這種情況?我在配置步驟中錯過了什麼?
P.S.當我在命令行winmerge.sh file1.c file2.c
上鍵入時,WinMerge會立即顯示兩個文件,就像我期望的那樣。
更新:哦,哇,我只是注意到WinMerge的提示底部的Both paths are invalid
消息(並更新了截圖以強調)。看起來這些文件並不是由difftool生成的,或者是路徑有問題。
你試過這個變化嗎? http://stackoverflow.com/questions/255202/how-do-i-view-git-diff-output-with-visual-diff-program/4116806#4116806 – VonC
@VonC還沒有,但請注意我的更新哪些點在問題出現在比winmerge.sh更早的地方。在我看來,我的系統配置的怪異對我來說......'cygwin-1.7.8-1' +'git version 1.7.4' +'Windows 7 Ultimate 64-bit' with my'$ HOME =/home「,在'/ home'上掛載爲'// sambaserver/projshare'。 – WinWin
有沒有機會在更傳統的PATH上定義你的「HOME」? 'C:\ ...'有可能你的腳本只能在bash環境下工作,而不能在Windows環境下工作。 – VonC