WordPressのテーマ更新でファイルをアップロードする時に、独自にカスタマイズしたファイルの差分を手動で行っていたのですが、面倒な上にミスをしてしまうことがありました。
ファイルのアップロードはFTPソフトのWinSCPで行っているのですが、WinSCPと連携した差分方法を探していたところ、普段から利用しているWinMergeを関連づけることができるようなので、試してみることしました。
WinSCPにWinMergeをカスタムコマンドで関連づけて差分をとる
環境設定
WinSCPのツールバーにある「オプション」から「環境設定」を選択します。
![WinSCP「環境設定」を選択](https://www.pc-weblog.com/wp-content/uploads/2016/08/winscp0004.png)
メニューの「コマンド」からカスタムコマンドにある「ファイルの比較」を選択します。
![WinSCP 「ファイルの比較」を選択](https://www.pc-weblog.com/wp-content/uploads/2016/08/winscp0005.png)
ファイルの比較にあるカスタムコマンドを、下記のようにWinMergeのインストール先に合わせて書き換えます。
"C:\Program Files\WinMerge\WinMergeU.exe" "!^!" "!"
ついでにファイル比較がしやすいように、キーボードにショートカットを割り当てます。次に「OK」ボタンをクリックし、編集ウィンドウを閉じます。
![WinSCP 「ファイルの比較」編集ウィンドウでパスの書き換えとショートカットを設定](https://www.pc-weblog.com/wp-content/uploads/2016/08/winscp0006.png)
「環境設定」ウィンドウに戻るので「OK」ボタンをクリックして閉じます。
![WinSCP 「環境設定」を閉じる](https://www.pc-weblog.com/wp-content/uploads/2016/08/winscp0007.png)
カスタムコマンドをボタン表示する
ツールバーの空白部分で右クリックします。メニューが表示されるので、「カスタムコマンド」を選択して先ほどの「ファイルの比較」をボタン表示させます。
![WinSCP 「ファイルの比較」をボタンとして表示](https://www.pc-weblog.com/wp-content/uploads/2016/08/winscp-Animation.gif)
差分をとる
WinSCPを起動した後、差分を取りたいファイル上で「ファイルの比較」ボタンをクリック、または右クリックで「カスタムコマンド」を選択、もしくは設定したキーボードのショートカットでWinMergeを起動させます。
![WinSCP 差分を取りたいファイル上でWinMergeを起動](https://www.pc-weblog.com/wp-content/uploads/2016/08/winscp0008.png)
WinMergeでファイルの差異が表示されます。
![WinMerge 差異が表示される](https://www.pc-weblog.com/wp-content/uploads/2016/08/winscp0010.png)
差異を確認しつつ、マージを行っていきます。
マージが終わった後は、フォルダごとサーバーにアップし、全てを上書きして更新します。
まとめ
WinSCPとWinMergeを連携して差分をとることにより効率が上がりました。また、マージする際にコードを手動でコピーしないですむので、ミスがなくなりました。
差分をとる場合、カスタマイズしたファイル名をエディタなどに記載しておくと楽になると思います。
もっと効率よく楽にできるよ、といった意見があればコメントなどいただければと思います。
コメント