打patch

首先将源代码clone下来

root@localhost:~# git clone https://github.com/vmware/column

Cloning into 'column'...

remote: Counting objects: 1356, done.

remote: Total 1356 (delta 0), reused 0 (delta 0), pack-reused 1356

Receiving objects: 100% (1356/1356), 206.98 KiB | 0 bytes/s, done.

Resolving deltas: 100% (849/849), done.

Checking connectivity... done.

需要修改的文件做一个备份

cp column/requirements.txt column/requirements.txt.back

修改column/requirements.txt文件

用diff工具生成补丁

diff -up column/requirements.txt.back column/requirements.txt > column.patch

参数详解:

-u 显示有差异行的前后几行(上下文), 默认是前后各3行, 这样, patch中带有更多的信息.

-p 显示代码所在的c函数的信息.

打patch

重新clone一份源代码

进入column目录

patch requirements.txt ../column.patch

或者

patch –p1 < ../column.patch

(打patch时,参数-p1, 是1而不是l. 为什么忽略第一级目录,因为工程的下面树状结构相同,但是工程名未必相同,所以打patch时候可以通过p1来避免这个问题。这个可以通过查看patch内容来决定具体执行patch的路径。)

这样打patch就成功了

image.png

你可能感兴趣的:(打patch)