Wednesday, June 4, 2008

Diff and Patch

發佈原始碼更新最常使用的工具是 patch 和 diff. 一開始建立兩個內容一樣的目錄“original directory”和“working directory”,然後在“working directory”中加上我們的修改。例如:

[]$ tar zxvf linux-2.6.24.tar.gz
[]$ mv linux linux-2.6.24-orig
[]$ tar zxvf linux-2.6.24.tar.gz
[]$ mv linux linux-2.6.24

在linux-2.6.24 目錄下修改。完成後利用下列指令來產生修補檔。

$ diff -Naur -X dontdiff linux-2.6.24-orig linux-2.6.24 > kernel.patch

Other instructions:

[]$ cd linux-2.6.24-orig
[]$ patch -p1 < ../2.6.25.patch
[]$ cd ..
[]$ mv linux-2.6.24-orig linux-2.6.25

[]$ cd linux-2.6.24
[]$ patch -p1 -R < ../kernel.patch
[]$ patch -p1 < ../2.6.25.patch
[]$ cd ..
[]$ mv linux-2.6.24 linux-2.6.25
[]$ cd linux-2.6.25
[]$ patch -p1 < ../kernel.patch

No comments: