2

ここに記載されている手順に従って、Snow Leopard で DiffMerge を svn (バージョン 1.6.16) と統合しようとしています。次の変更を加えました。

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

私が間違っていることはありますか?

ありがとう!

4

2 に答える 2

3

これは私にとってはうまくいきました(Subversion 1.7.5)

#!/bin/bash
DIFFMERGE_PATH=/Applications/DiffMerge.app
DIFFMERGE_EXEC=${DIFFMERGE_PATH}/Contents/MacOS/DiffMerge
DIFFMERGE_ARGS=()
COLCOUNT=1
for I in "$@"; 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 ${?}
于 2012-07-09T01:15:05.643 に答える
0

パスが見つからない場合、終了コード 255 が発生するようです。私にとっては、外部差分ツールへの ~/ (チルダ) パスを使用したときにも発生しました。IntelliJを使用していますidea merge

于 2018-10-22T15:28:35.053 に答える