diffコマンドとpatch(パッチ)の適応

diffコマンドとpatch(パッチ)の適応についてのメモ。

マスターのソースに修正を加える場合、修正後のファイルを送る場合とパッチのみを送る場合があります。逆にもらう場合もあります。で使い方。

diffコマンド

ほとんど下のオプションのみ知っていればOKかと。diffで差分だけを見たいときはオプションなしでもほとんど問題なし。
オプション内容
-cコンテキスト形式(context format)の出力
-uユニファイド形式(unified format)の出力
-rサブディレクトリ以下もリカーシブにdiffを実行

unified形式の例(個人的にはこれが一番見やすくて好きです)
--- org.php     2012-02-26 07:45:02.000000000 -0600
+++ mod.php     2012-02-26 07:45:04.000000000 -0600
@@ -1,8 +1,7 @@
 #!/usr/local/bin/php
 <?php

-$prm_opts = getopt ("a:");
+$prm_opts = getopt ("a:b:");

 print "*** a=". $prm_opts["a"] . "\n";
-
-// EOF
+print "*** b=". $prm_opts["b"] . "\n";

patchコマンド

patchコマンドはオリジナルに直接更新をかけるので、バックアップか出力先を指定して実行した方がよい。
また、修正にパッチファイルだけを渡される場合があるのですがレビューなどをする場合はパッチとパッチ適用後両方のファイルを渡したほうが親切です。
オプション内容
-cパッチファイルがコンテキスト形式の場合指定(なくても可)
-uパッチファイルがユニファイド形式の場合指定(なくても可)
-bバックアップファイルを作成する
-oパッチを適用した新しいファイルを指定されたファイルに出力する

実行例は下記に。

[続きを見る]

カテゴリ

Amazon

アクセスランキング

[ジャンルランキング]
コンピュータ
261位
アクセスランキングを見る>>

[サブジャンルランキング]
プログラミング
47位
アクセスランキングを見る>>

RSSリンクの表示

ブロとも申請フォーム

Copyright © nopgm