① svn產生diff文件怎麼命令
svn cat -- 顯示特定版本的某文件內容。
svn list -- 顯示一個目錄或某一版本存在的文件列表。
svn log -- 顯示svn 的版本log,含作者、日期、路徑等。
svn diff -- 顯示特定修改的行級詳細信息。
② diff命令和patch命令的使用
diff 命令是 linux上非常重要的工具,用於比較文件的內容,特別是比較兩個版本不同的文件以找到改動的地方。diff在命令行中列印每一個行的改動。最新版本的diff還支持二進制文件。diff程序的輸出被稱為補丁 (patch),因為Linux系統中還有一個patch程序,可以根據diff的輸出將a.c的文件內容更新為b.c。diff是svn、cvs、git等版本控制工具不可或缺的一部分。
diff命令的格式一般為:
diff [參數][文件或者目錄1][文件或者目錄2]
例如,有文件凱豎歷test1和test2:
將會輸出:
格式的含義如注釋所示。
diff 的normal 顯示格式有三種提示:
a - add
c - change
d - delete
比較常用的是以合並的方式顯示兩個文件的不同:
輸出如:
這種輸出方式輸出的內容可以用於使用patch命令進行打補丁包。patch命令我們稍後再看。
diff命令也可以比較兩個文件夾的不同:
例如有兩個文件夾testa和纖嫌test,將test1和test2放進去:
得到:
第一部分是文件的信息
"---"表示變動前的文件,"+++"表示變動後的文件。
第二部分表示變動的位置
@@ -1,11 +1,5 @@
減號表示第一個文件,後面的表示第一行起一共11行。加號表示第二個文件。後面是第一行起一共5行。
接下來的表示區別的部分。
例如:
將得到:
這種模式中
「|」表示前後2個文件內容有不同
「<」表示後面文件比前面文件少了1行內容
「>」表示後面文件比前面文件多了1行內容
我們可以先用diff命令生成patch文件。然後使用patch命令將第二盯搜個文件內容修改成第一個文件的內容。
例如上述的test1和test2:
之後test2的內容就會和test1內容一致了。
svn diff生成的patch也可以用於更新文件