The*_*sis 22 linux source patch
是否可以告诉patch
不要生成.orig
和.rej
文件?我发现补丁创建这些非常烦人。
War*_*ung 16
如果你没有给予任何选项patch
以外-pN
,它只有一个补丁不能干净的应用创建这些文件。
因此,一种选择是停止创建(或接受)坏补丁。:)
回到现实世界,这是一个功能。当patch(1)
无法将补丁段应用到原始文件时,它将临时原始文件副本持久保存为*.orig
,将被拒绝的段转储到*.rej
,并继续尝试应用补丁段。这个想法是您可以打开*.rej
文件并通过将点点滴滴复制到修补文件来手动完成修补过程。*.orig
当补丁过程意外破坏某些内容时,该文件也很有用,您需要参考原始版本来修复它。
我并不总是用*.rej
和*.orig
文件中的文本修复坏补丁,但如果我需要它们,拥有它们是很好的。
一旦我修复了一个错误的补丁,我就会在项目根目录运行以下脚本来快速清理:
#!/bin/bash
find . '(' \
-name \*-baseline -o \
-name \*-merge -o \
-name \*-original -o \
-name \*.orig -o \
-name \*.rej \
')' -delete
Run Code Online (Sandbox Code Playgroud)
我这样称呼它cleanup-after-bad-patch
是因为长名称部分地确保不会意外运行它,因为它可以删除您仍然需要的文件。不过,老实说,我通常通过键入来运行它clean
TabEnter,这足以PATH
在我的开发机器上找到这个脚本。
它检查的其他模式适用于我选择的版本控制系统在合并操作期间遇到相同问题时输出的文件。您可能希望针对您的VCS / SCM工具对其进行调整。
要告诉补丁不生成备份,只需省略-b
和 任何--backup-...
选项。
要指示它不创建.rej
文件-r -
,请向命令添加选项。
该--no-backup-if-mismatch
选项将避免使用“.orig”文件。
您可能还想尝试--merge
创建文件内冲突的选项。
在所有情况下,如果合并变得势不可挡,您应该有一些方法可以快速恢复到良好状态。
归档时间: |
|
查看次数: |
17691 次 |
最近记录: |