svn patch 文件输出格式的含义

前言

按照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
===================================================================

猜你喜欢

转载自blog.csdn.net/LostSpeed/article/details/80940395