如何防止补丁创建备份文件?

Sea*_*ean 10 patch

我正在编写一些将应用 patch(1) 程序的代码,我想完全阻止它创建备份文件。也就是说,foo.orig当它无法更新特定文件(在这种情况下它会创建foo.rej文件),或者当它成功更新文件但涉及一些模糊性时,我不希望它创建文件,这两种情况它通常都会这样做. 这似乎说起来容易做起来难。

基本情况:我对 Debian 源目录运行“补丁”,但无法更新debian/changelog文件。patch 创建一个文件debian/changelog.orig文件(这是我试图避免的)。

文档提到了一个--no-backup-if-mismatch开关,这似乎正是我所需要的。但是当我添加它时,备份文件仍然被创建,只是现在它被称为debian/changelog.~1~.

该文档还说,当存在--posix交换机时,将不会进行备份。当我使用此开关代替 时--no-backup-if-mismatch,仍会创建备份文件,但使用原始.orig后缀。

我发现的唯一解决方法是使用-B/--prefix开关将备份直接写入我选择的目录。但这似乎是一个丑陋的黑客。没有更干净的方法来防止备份吗?

Sea*_*ean 4

显然-B/--prefix这是唯一的出路。