Linux2009.06.10 19:38
$ diff -urN ori_dir modified_dir > patch.diff

       -u     Use the unified output format.
       -r     When comparing directories, recursively compare any subdirectories found.
       -N
       --new-file
              In directory comparison, if a file is found in only one directory, treat it as present but  empty  in  the
              other directory.

일반적으로 GNU 프로젝트의 패치로 사용하는 옵션이라고 한다.
-u는 unified 포맷 출력
-r은 디렉토리 비교
-N은 새 파일이 있을시 없는쪽은 비어있는 파일로 간주하고 비교함
 간단하게 전부 내용이 추가된걸로 표시된다. 이러한 옵션 없이 diff하면 아래와 같이 빈 파일이 출력된다.
 Only in linux-2.6.17.14_stm22_0039_STFAE: .config2

하지만 -N 옵션을 넣으주면 아래와 같이 출력이 된다.
diff -urN linux-2.6.17.14_stm22_0039_STFAE_ORI/.config2 linux-2.6.17.14_stm22_0039_STFAE/.config2
--- linux-2.6.17.14_stm22_0039_STFAE_ORI/.config2       1970-01-01 09:00:00.000000000 +0900
+++ linux-2.6.17.14_stm22_0039_STFAE/.config2   2008-09-12 12:32:23.000000000 +0900
@@ -0,0 +1,1312 @@
+#
+# source code ...

$ man diff



[링크 : http://wiki.kldp.org/wiki.php/DiffAndPatch]
Posted by 구차니

댓글을 달아 주세요