Я пишу некоторый код, который будет применять программу patch(1), и я хочу полностью предотвратить создание файлов резервных копий. То есть я не хочу, чтобы он создавал файлы foo.orig
когда он либо не может обновить определенный файл (в этом случае он создает файл foo.rej
), либо когда он успешно обновляет файл, но в этом есть некоторая нечеткость, оба из которых это обычно делает. Кажется, это легче сказать, чем сделать.
Базовый случай: я запускаю "patch" для исходного каталога Debian, и он не может обновить debian/changelog
. patch создает файл debian/changelog.orig
(это то, чего я пытаюсь избежать).
В документации упоминается ключ --no-backup-if-mismatch
, который, кажется, как раз то, что мне нужно. Но когда я его добавляю, файл резервной копии все еще создается, только теперь он называется debian/changelog.~1~
.
В документации также сказано, что при наличии ключа --posix
резервное копирование не будет. Когда я использую этот ключ вместо --no-backup-if-mismatch
, файл резервной копии все еще создается, но с исходным суффиксом .orig
.
Единственный обходной путь, который я нашел, - это использовать -B/--prefix
чтобы направлять резервные копии для записи в каталог по моему выбору. Но это похоже на уродливый хак. Нет ли более чистого способа предотвращения резервного копирования?