一、流程
1. 通过diff 查看文件修改前后(src、dest)内容差异,并将修改内容存入目标patch文件;
2. 通过patch命令操作源文件src,将修改内容patch添加至源文件;
二、注意点
1. diff操作时,注意文件顺序,顺序出现错误将导致 后续补丁操作失败;
lfs8 [ use_patch ]# echo "aaa" >>src
lfs8 [ use_patch ]# echo "bbb" >> dest
lfs8 [ use_patch ]# cat src
aaa
lfs8 [ use_patch ]# cat dest
bbb
lfs8 [ use_patch ]# diff dest src > patch //patch 失败原因:diff操作时 修改前文件在后,修改后文件在前
lfs8 [ use_patch ]# cat patch
1c1
< bbb
---
> aaa
lfs8 [ use_patch ]# /usr/bin/patch -Np0 src -i patch //patch 失败现象
patching file src
Reversed (or previously applied) patch detected! Skipping patch.
1 out of 1 hunk ignored -- saving rejects to file src.rej
lfs8 [ use_patch ]# ls
dest patch src src.rej
三、标准流程实操
lfs8 [ use_patch ]# echo "aaa" >> src
lfs8 [ use_patch ]# echo "bbb" >> dest
lfs8 [ use_patch ]# diff src dest > patch
lfs8 [ use_patch ]# cat patch
1c1
< aaa
---
> bbb
lfs8 [ /workspace/test/C/use_patch ]# cat src
aaa
lfs8 [ /workspace/test/C/use_patch ]# cat dest
bbb
lfs8 [ /workspace/test/C/use_patch ]# /usr/bin/patch -Np0 src -i patch
patching file aaa
lfs8 [ /workspace/test/C/use_patch ]# cat src
bbb
本文介绍了文件补丁管理的过程,包括使用diff查看文件内容差异并生成patch文件,然后通过patch命令将修改应用到源文件。重点强调了在使用diff时要注意文件顺序,以确保补丁操作的成功。
348

被折叠的 条评论
为什么被折叠?



