TopWindows > 2011年7月
2011年7月22日

Windowsでソースコードの差分を取得する方法

July 22,2011 1:33 AM
Tag:[, ]
Permalink

Windowsでソースコードの差分を取得する方法です。

差分を取得する方法は色々あると思いますが、私はLinuxのdiffコマンドをWindows上で実行しているので、その方法を紹介します。

1.UnxUtils.zipのダウンロード

注:ダウンロード先は2011年7月現在で確認できている内容です。

UnxUtilsにある「Download」クリック。次の画面で少し待てばダウンロードが開始します。

UnxUtils

2.UnxUpdates.zipのダウンロード

GNU utilities for Win32にあるUnxUpdates.zipをクリック。

UnxUpdates

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というフォルダがある例で示します。実行すると次のように差分がずらずらと表示されます。

diffの実行

一番左に表示されている「<」が旧バージョンの内容、「---」の下に表示されている「>」が新バージョンの内容です。

また左端に表示されている「4c4」「1976a1967」などは、差分があった行番号と差分の種別(a:追加/c:変更/d:削除)を示しています。追加と削除については「---」はありません。

6.実行結果を保存する

実行結果をファイルに保存するには、画面に表示された内容をコピーするよりも、リダイレクションを使います。具体的には、コマンドラインの最後に「> [ファイル名]」を追加します。

次のように実行すれば、実行結果がコマンドプロンプトではなく、Cドライブ直下にhoge.txtというファイルに出力されます。

実行結果を保存

diffコマンドには他にも色々なオプションがあるので、ネットで検索してみると良いでしょう。

Comments [2] | Trackbacks [0]
Now loading...
ギターに入った猫
掲載広告募集
Styles
Font Size
Default
For defective color vision
Gray Scale
RGB Color
Search this site

このブログをメールで購読する by:FeedBurner

AMN
Categories
Monthly Archives
2020年
2019年
2018年
2017年
2016年
2015年
2014年
2013年
2012年
2011年
2010年
2009年
2008年
2007年
2006年
2005年
2004年
2003年
BlogPeople
Syndicate this site
FeedBurner(RSS1.0/RSS2.0/Atom)
Counter
これまでのアクセス
Powered by
Movable Type 6.0.3