2012-02-22 85 views
2

我試圖在雪豹上集成DiffMerge和svn(版本1.6.16),遵循here提供的步驟。我做了以下修改:嘗試從svn啓動diffmerge時獲取退出代碼

1)創建了一個腳本,看起來像:

 

#!/bin/bash 
DIFFMERGE_PATH=/Applications/DiffMerge/DiffMerge.app 
DIFFMERGE_EXEC=${DIFFMERGE_PATH}/Contents/MacOS/DiffMerge 
${DIFFMERGE_EXEC} --nosplash -m -t1="Incoming" -t2="Original" -t3="Current" -r="$4" "$2" "$1" "$3" 
 

2)冉chmod +x ~/Scripts/diffmerge-svnmerge.sh

3)增加了以下命令〜/的.subversion/config文件:

merge-tool-cmd = <HOME>/Scripts/diffmerge-svnmerge.sh 

4)出於測試目的,我試圖更新文件時確保發生衝突,並使用'l'選項啓動DiffMerge來解決衝突。我每次都收到以下錯誤消息:The external merge tool exited with exit code 255

任何想法我做錯了什麼?

謝謝!

+0

,而不是$ {} DIFFMERGE_EXEC把 「回聲」,看看它輸出。你對它得到的參數感興趣。 – 2012-05-02 19:28:00

回答

3

這爲我工作(顛覆1.7.5)

#!/bin/bash 
DIFFMERGE_PATH=/Applications/DiffMerge.app 
DIFFMERGE_EXEC=${DIFFMERGE_PATH}/Contents/MacOS/DiffMerge 
DIFFMERGE_ARGS=() 
COLCOUNT=1 
for I in "[email protected]"; do 
    case "${I}" in 
     "-E") 
      ;; 
     "-L") 
      DIFFMERGE_ARGS[${#DIFFMERGE_ARGS[*]}]="-t${COLCOUNT}" 
      COLCOUNT=$((${COLCOUNT}+1)) 
      ;; 
     *) 
      DIFFMERGE_ARGS[${#DIFFMERGE_ARGS[*]}]="${I}" 
      ;; 
    esac 
    echo "Arg: ${I}" >> /Users/kosh/tmp/diffmerge.cmd 
done 
${DIFFMERGE_EXEC} --nosplash "${DIFFMERGE_ARGS[@]}" 
exit ${?}