Subversion/WinMerge のバックアップ(No.2)
- バックアップ一覧
- 差分 を表示
- 現在との差分 を表示
- 現在との差分 - Visual を表示
- ソース を表示
- Subversion/WinMerge へ行く。
- 1 (2008-07-01 (火) 17:45:52)
- 2 (2008-07-01 (火) 21:05:15)
- 3 (2008-12-02 (火) 13:10:04)
- 4 (2008-12-15 (月) 20:29:40)
- 5 (2009-01-05 (月) 13:41:50)
- 6 (2010-05-04 (火) 06:00:00)
- 7 (2010-05-04 (火) 15:56:11)
- 8 (2010-05-23 (日) 03:06:12)
- 9 (2010-05-24 (月) 15:08:22)
- 10 (2010-05-26 (水) 08:37:49)
- 11 (2010-12-17 (金) 14:36:58)
- 12 (2010-12-19 (日) 16:38:51)
- 13 (2011-01-14 (金) 16:35:24)
- 14 (2011-06-04 (土) 04:55:17)
- 15 (2012-08-13 (月) 16:05:12)
- 16 (2013-08-19 (月) 13:48:15)
- 17 (2013-08-19 (月) 15:28:47)
- 18 (2013-08-30 (金) 17:54:38)
- 19 (2013-08-31 (土) 21:06:40)
- 20 (2014-09-04 (木) 00:52:51)
- 21 (2014-09-26 (金) 19:06:12)
TITLE:WinMergeをSubversionのdiffとして使用する
WinMergeをSubversionのdiffとして使用する
編集者:Terai Atsuhiro
作成日:
更新日:2014-09-26 (金) 19:07:04
概要
このページでは、Windows環境のSubversionで、差分の比較(diff)に、WinMergeを使用する方法をメモしています。
インストール
どちらも特に設定は必要ありません。WinMerge 日本語版などからダウンロードしてインストールするだけです。ここではそれぞれ以下のバージョンを利用しています。
- svn 1.4.2 (r22196)
- WinMerge-2.7.4.0-jp-2
コマンドライン
コマンドラインから使用する場合は、以下の例のようにオプションを指定します。
svn diff Example.java -r PREV:HEAD --diff-cmd="C:\Program Files\WinMerge\WinMerge.exe" -x "/dl /dr"
バッチファイルを使って、入力を短くしてみます。以下は、パスの通った場所にwinmerge.batを作成して使用する例になっています。
- winmerge.bat ファイル(外部差分ツールの利用)
@echo off
REM ここに自分の好きな diff プログラムを設定してください。
REM SET DIFF="C:\Program Files\WinMerge\WinMerge.exe"
SET DIFF="C:\Program Files\WinMerge\WinMergeU.exe"
REM Subversion は 6 番目と 7 番目の引数としてパス名が必要です
SET LEFT=%6
SET RIGHT=%7
REM diff コマンドを呼び出します (merge プログラムで意味を持つように
REM 以下の行を変更してください。)
REM %DIFF% --left %LEFT% --right %RIGHT% /dl %3 /dr %5
start "WinMerge" /B %DIFF% /e /s /ub --left %LEFT% --right %RIGHT% /dl %3 /dr %5
SET DIFF=
SET LEFT=
SET RIGHT=
REM 差分がなけばエラーコード 0 を、差分があれば 1 を返します。
REM それ以外のエラーコードは致命的とみなします。
バッチファイルを作成したら、コマンドラインでテストします。
svn diff Example.java -r PREV:HEAD --diff-cmd=winmerge.bat
config ファイル
C:\Documents and Settings\ユーザ名\Application Data\Subversion\config ファイルに、diff-cmdオプションを追加して先に作成したバッチファイルを指定しています。
[helpers] ### Set diff-cmd to the absolute path of your 'diff' program. ### This will override the compile-time default, which is to use ### Subversion's internal diff implementation. # diff-cmd = diff_program (diff, gdiff, etc.) diff-cmd = winmerge.bat
コマンドラインなどで、diff-cmdオプションを指定しなくても、WinMergeが立ち上がります*1。
svn diff Example.java -r PREV:HEAD
参考リンク
- WinMerge 日本語版
- 第9章 Subversion リファレンス
- 16. Command Line
- 外部差分ツールの利用
- Joshua Flanagan - Using WinMerge with Subversion
コメント
- Joshua Flanagan - Using WinMerge with Subversionを参考にしてバッチファイルを変更(一つのWinMergeで開くように)しました。 -- terai