WinMergeをSubversionのdiffとして使用する – てんぷらメモの方法でSubversionの外部DIFFツールにWinMergeを設定したけど上手くいかなかった。WinMergeに渡される比較用の一時ファイル(tmpfile.tmp)が存在しない為にWinMergeのファイル選択のダイアログが表示されてしまう。
色々と検索ワードを変えて調べてみたが解決せず。ふと”subversion diff tempfile.tmp”で検索したらドンピシャリ。Subversion r12がヒット。2ちゃんねるの過去ログでしょうか。
138デフォルトの名無しさんsage2009/12/02(水) 01:52:09
ttp://terai.xrea.jp/Subversion/WinMerge.html
このページを参考にWinMergeをSubversionのdiffとして使用する設定を行ったのですが
svn diff test.txt
はうまくいきますが
svn diff -r 100 test.txt
はWinMergeのファイル指定のダイアログが表示されうまくいきません。
どうもリビジョン100のファイルが取得できないようです。
どなたか原因がわかる方いらっしゃいませんか?
140デフォルトの名無しさんsage2009/12/02(水) 02:25:53
svn diff -r 100 test.txt .
じゃないの?
143デフォルトの名無しさんsage2009/12/02(水) 23:04:26
>>140
ダメでした。
“svn diff -r 100:101 test.txt”もダメです。
コマンドラインでは成功します。
ただ最新版がr102の場合、
“svn diff -r 102 test.txt”なら成功します。
ルーターのLEDが点滅しているので取りにはいっているようです。
考えられる原因は「OSがVista、ノートンを使っている」くらいでしょうか。
144デフォルトの名無しさんsage2009/12/03(木) 10:10:05
それぞれのバージョンは?
145デフォルトの名無しさんsage2009/12/03(木) 23:00:08
>>144
バッチファイルの
START “WinMerge” /B
を削除するとうまくいきました。
どうもこれがあると比較用のtempfile.tmpが消えてしまうようです。
ちなみにsvnクライアントのバージョンは1.6.6です。
サーバーはわかりません。
138さんは神ですね。
手順をまとめると…
以下のようなバッチファイルを作成して、そのパスを%APPDATA%\Subversion\configファイルのhelpersセクション→diff-cmdキーに設定する。
@ECHO OFF
[WinMergeU.exeのパス] /e /s /ub /dl %3 /dr %5 %6 %7
というわけでした。