前言
按照wireshark\doc\README.plugins的说明加了一个wireshark插件.
想看看和修改前的区别(wireshark文件夹已经进入了svn, 当前的修改还没提交), 右击wireshark文件夹 => TortoiseSVN => Create patch…
指定位置保存wireshark_foo_plugin.patch.
wireshark_foo_plugin.patch是文本文件, 去另外一台计算机上可以合并patch.
右击wireshark文件夹 => TortoiseSVN => Apply patch…
虽然是自己改的,对照patch文本,还是有点不明白patch格式.
去找了资料, https://www.gnu.org/software/diffutils/manual/html_mono/diff.html
再看patch文件格式,有点懂了. 可以不用工具合并了,自己手工合并也可以.
这次实验,仅针对本地生成的wireshark_foo_plugin.patch(主要是新增文件,新增行,并不涉及到修改和删除,解决冲突),如果遇到新的patch格式,再对照gnu的diff文档再看下。
patch文件输出格式含义
Index: CMakeLists.txt
===================================================================
--- CMakeLists.txt (revision 1)
+++ CMakeLists.txt (working copy)
@@ -1271,6 +1271,7 @@
set(PLUGIN_SRC_DIRS
plugins/docsis
plugins/ethercat
+ plugins/foo
plugins/gryphon
plugins/irda
plugins/m2m
文件位置
patch是针对文件夹的, index:xx, 代表针对文件夹的文件位置
Index: CMakeLists.txt
Index: epan/Makefile.am
原始文件
— xxx 表示原始文件
— plugins/foo/AUTHORS (nonexistent)
— configure.ac (revision 1)
— epan/Makefile.am (revision 1)
新文件
+++ xxx 表示新文件
+++ configure.ac (working copy)
+++ epan/Makefile.am (working copy)
行变化内容的概要信息
@@ -1271,6 +1271,7 @@
开始和结束的@@代表概要信息的开始和结束
-x,y 代表原始文件从x行开始有y行
+m,n 代表新文件从m行开始有n行内容
增加的行内容
set(PLUGIN_SRC_DIRS
plugins/docsis
plugins/ethercat
+ plugins/foo
plugins/gryphon
plugins/irda
plugins/m2m
+ 代表这行在新文件中是增加的
连续增加的行内容
如果在新文件中新增了一块代码块(连续超过1行的代码块),可以在新文件中看到连续的+的行
Index: epan/Makefile.am
===================================================================
--- epan/Makefile.am (revision 1)
+++ epan/Makefile.am (working copy)
@@ -479,6 +479,8 @@
../plugins/ethercat/packet-ioraw.c \
../plugins/ethercat/packet-nv.c \
../plugins/ethercat/plugin.c \
+ ../plugins/foo/packet-foo.c \
+ ../plugins/foo/plugin.c \
../plugins/gryphon/packet-gryphon.c \
../plugins/gryphon/plugin.c \
../plugins/irda/packet-ircomm.c \
新增的文件
可以从概要信息中看到原始文件描述为 -0,0
说明原始文件没有,从0行开始有不同,有0行内容
Index: plugins/foo/AUTHORS
===================================================================
--- plugins/foo/AUTHORS (nonexistent)
+++ plugins/foo/AUTHORS (working copy)
@@ -0,0 +1,5 @@
+Author :
+Steve Limkemann <[email protected]>
+
+Plugin conversion :
+Olivier Abad <[email protected]>
增加的是空文件
只能看到有文件位置信息,说明增加的是空文件
Index: plugins/foo/ChangeLog
===================================================================