パッチの書式

 UNIX人には当たり前すぎて説明する必要すらないのかもしれないが、Windows人にはさっぱりわからないこともある。例えばこういうのを見せられても、

--- awstats_orig.pl     Sun Jan 25 16:24:00 2004
+++ awstats.pl  Sat Sep 25 16:55:15 2004
@@ -15,6 +15,7 @@
use Socket;
+use Jcode;
@@ -4064,6 +4065,7 @@
my $stringtodecode=shift;
$stringtodecode =~ tr/\+/ /s;
$stringtodecode =~ s/%([A-F0-9][A-F0-9])/pack("C", hex($1))/ieg;
+Jcode::convert(\$stringtodecode, "utf8");
return $stringtodecode;
}

レレレのおじさんのような顔をしながら「はにゃ?」とかつぶやいてみるくらいが限界だったりする。とはいえ検索してどこかくらいはわかるから、下手をすると行頭に+を付けたままのコードをコピペするなどという奇行に走ってみたりするわけで。
 +-くらいはわかるし他もだいたい想像できるけど、そもそもこれは一体何なのかというのが謎だった。それがたまたまぶち当たったページからGNU diffutilsでちょこちょこ検索してみたら見つかった。

Manpage of DIFF
unified 形式

あーdiffねーなるほど納得ー。と激しくガッテンしてしまった。

Programmers’ toolbox
GNU diffutils 2.7.2 (Win32 版)

 ついでにゲットですよ。おもしろー。どこかへ出せるようなパッチには縁がないけど。