Как запретить патчу создавать файлы резервных копий?

6

Я пишу некоторый код, который будет применять программу 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переключателя для прямого резервного копирования, которое будет записано в каталог по моему выбору. Но это похоже на уродливый хак. Нет ли более чистого способа предотвращения резервного копирования?

Шон
источник

Ответы:

2

Видимо, -B/--prefixэто единственный путь.

Шон
источник
1

Согласно (diffutils) Backups , --no-backup-if-mismatchделает то , что вы хотите.

Самба
источник
Это работало для меня на Ubuntu 16.04.
Дэвид Каллен