Windowsでソースコードの差分を取得する方法
Windowsでソースコードの差分を取得する方法です。
差分を取得する方法は色々あると思いますが、私はLinuxのdiffコマンドをWindows上で実行しているので、その方法を紹介します。
1.UnxUtils.zipのダウンロード
注:ダウンロード先は2011年7月現在で確認できている内容です。
UnxUtilsにある「Download」クリック。次の画面で少し待てばダウンロードが開始します。
2.UnxUpdates.zipのダウンロード
GNU utilities for Win32にあるUnxUpdates.zipをクリック。
3.UnxUtils/UnxUpdatesのインストール
ダウンロードしたUnxUtils.zip/UnxUpdates.zipをそれぞれ展開し、UnxUpdates.zipで展開したファイルを、UnxUtils.zipを展開した中にある、
C:¥UnxUtils¥usr¥local¥wbin
に上書きします。
ここではActivePerlをインストールしている例で進めますので、wbinフォルダを¥usrl配下に移動して、
¥usr
¥include
¥lib
¥share
¥wbin
とします。ActivePerlをインストールしていない場合は、
C:¥UnxUtils¥usr¥local¥wbin
のままで構いませんが、2項の設定内容が変わるので注意してください。
4.パスを通す
「パスを通す」というのは、WindowsやLinux等でコマンドを実行するときに、コマンド名だけを入力すれば良い状態を指します。今回の場合、wbinフォルダ配下にあるdiffというコマンドを実行しますが、パスが通っていないと
C:¥UnxUtils¥usr¥local¥wbin¥diff
とルートからのパスを入力しなければなりません。以下、手順です。
「スタート」→「コンピュータ」を右クリックして「プロパティ」を選択。
「システムの詳細設定」をクリック。
「詳細設定タブ」の「環境変数」をクリック。
「システム環境変数」にある「Path」を選択して「編集」をクリック。
「変数値」の最後にパスの区切り文字";"を記述し、その後に「C:¥usr¥wbin」を追加します。
1項でActivePerlのパスに移動していない場合は、「C:¥UnxUtils¥usr¥local¥wbin」を追加します。
パスが通っているかどうかの確認は、
「スタート」→「すべてのプログラム」→「アクセサリ」→「コマンドプロンプト」を開いて「diff」を入力します。パスが通っていれば次のように表示されます。
パスが通っていないと下のようになります。
なお、システム環境変数を設定する前に開いたコマンドプロンプトではパスが通らないので、新しいコマンドプロンプトを開き直してください。
5.ソースコードの差分を取得する
ここではMovable Typeの最新バージョン(5.12)とひとつ前のバージョン(5.11)の差分を例にします。5.11と5.12を展開したフォルダは事前に用意しておいてください。
コマンドプロンプトで次のように入力します。
>diff -r [MT5.11のフォルダ] [MT5.12のフォルダ]
「diff」はファイルの差分を出力するコマンドです。「-r」はフォルダを再帰的にチェックするオプションです。MTのフォルダがCドライブ以外にある場合はフルパスで指定してください。
ここではCドライブ直下にMT-5.11-jaというフォルダとMT-5.12-jaというフォルダがある例で示します。実行すると次のように差分がずらずらと表示されます。
一番左に表示されている「<」が旧バージョンの内容、「---」の下に表示されている「>」が新バージョンの内容です。
また左端に表示されている「4c4」「1976a1967」などは、差分があった行番号と差分の種別(a:追加/c:変更/d:削除)を示しています。追加と削除については「---」はありません。
6.実行結果を保存する
実行結果をファイルに保存するには、画面に表示された内容をコピーするよりも、リダイレクションを使います。具体的には、コマンドラインの最後に「> [ファイル名]」を追加します。
次のように実行すれば、実行結果がコマンドプロンプトではなく、Cドライブ直下にhoge.txtというファイルに出力されます。
diffコマンドには他にも色々なオプションがあるので、ネットで検索してみると良いでしょう。
- FFmpegをWindowsにインストールする方法
- Windows Updateで更新プログラムファイルをダウンロードしてコマンドでインストールする方法
- Windows11でウィンドウの影を消す方法
- MiniTool Partition Wizard(プロ・プラチナ版)レビュー
- WindowsのエクスプローラーでExeclの内容を検索する方法
- Windows10 + MKEditorでカーソルが消える問題の対処
- Windows10でPerlにDBD::MySQLをインストールする方法
- Windows10で「休止状態」を電源オプションに追加する方法
- ノートン製品の自動延長を停止する方法
- Windows10+XAMPP起動時に「Error: Cannot create file "C:\xampp\xampp-control.ini". アクセスが拒否されました」となる不具合の対処方法
- Windows10+XAMPP+Merburyでメールを送信する方法
- Windows10で「あ」や「A」の表示を消す方法
- Thunderbirdの「受信ファイル」が消えた場合の対処
- Windows10のエクスプローラーでアイコンから縮小画像に変更する方法
- Windows10のエクスプローラーに表示された×印を消す方法
yujiroさん、
解説どうもありがとうございました。
前回コメントでdiffを紹介していただいて、用意していました。
diffコマンドの出力結果を整理するのが、自分には大変そうですが、
エディタのマクロをうまく使えば、なんとかなるかもしれませんね。
(それも難しいですけれど、勉強してみます。)
>s.fujinoさん
こんばんは。
記事遅くなってすいませんでした。
ご参考になれば幸いです。
ではでは!