1500字范文,内容丰富有趣,写作好帮手!
1500字范文 > diff和patch 打补丁

diff和patch 打补丁

时间:2019-08-26 03:14:26

相关推荐

diff和patch 打补丁

在Linux环境下,有两个工具用来给project打补丁,即diff和patch

diff

diff具有比较功能。可以使用man命令查看其使用方法。

NAMEdiff - compare files line by lineSYNOPSISdiff [OPTION]... FILES

常用选项: -r 是一个递归选项

-N确保命令正确执行,文件不存在视为空

-u使用统一格式

patch

patch 用来打补丁。

NAMEpatch - apply a diff file to an originalSYNOPSISpatch [options] [originalfile [patchfile]]but usually justpatch -pnum <patchfile

-pnum:

-p0 根据补丁中完整路径查找要打补丁的文件

-p1忽略第一层目录

……

简单的例子

源文件

./file1.c#include <stdio.h>int main(){printf("This is version 1!\n");return 0;}

新文件:

./file2.c#include <stdio.h>int main(){printf("This is version 2!\n");return 0;}

比较两个文件,生成patch

$ diff -uN file1.c file2.c >> file.patch

打上补丁:

$ patch -p0 < file.patch

此时file1.c的内容变变成file2.c的内容

如果两个文件在不同目录,比如一个在remote,一个在local目录 则

$ diff -uN Remote/file1.c Local/file2.c >> file.patch//在file.patch目录下$ patch -p0 < file.patch

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。