patch是对原先软件的一种改进,是在diff的比较的基础上添加改进后的代码!下面两个参考:

http://www.360doc.com/content/13/1016/13/14252625_321843312.shtml

http://www.360doc.com/content/13/1016/13/14252625_321842676.shtml

这里就那mysql热备工具来做例子

文件位置:percona-xtrabackup—patchs—InnoDB51.patch


--- a/storage/innodb_plugin/btr/btr0btr.c

+++ b/storage/innodb_plugin/btr/btr0btr.c

@@ -674,7 +674,7 @@

/**************************************************************//**

Gets the root node of a tree and x-latches it.

@returnroot page, x-latched */

-static

+//static

buf_block_t*

btr_root_block_get(

/*===============*/

先说的是1,2行开头的---和+++分别表示旧文件和新文件,@@。。@@中间的数字和-+等符号表示旧文件和新文件的起始位置。

此例要修改的文件是btr0btr.c

-674,7说的是旧文件从647行开始7行文件

+647,7说的是新文件从647行开始7行文件

后面的文件-的是旧文件所有+是新文件所有



再有细节的东西,可以看看嘴上面的网址的内容!