Wie kann verhindert werden, dass der Patch Sicherungsdateien erstellt?

Wie kann verhindert werden, dass der Patch Sicherungsdateien erstellt?

Ich schreibe Code, der das Programm patch(1) anwendet, und ich möchte es vollständig daran hindern, Sicherungsdateien zu erstellen. Das heißt, ich möchte nicht, dass es foo.origDateien erstellt, wenn es entweder beim Aktualisieren einer bestimmten Datei fehlschlägt (in diesem Fall erstellt es eine foo.rejDatei) oder wenn es eine Datei erfolgreich aktualisiert, aber Unklarheiten aufweist, was normalerweise der Fall ist. Das scheint leichter gesagt als getan zu sein.

Basisfall: Ich führe „Patch“ für ein Debian-Quellverzeichnis aus, aber die Aktualisierung der debian/changelogDatei schlägt fehl. Patch erstellt eine Datei debian/changelog.orig(was ich vermeiden möchte).

In der Dokumentation wird ein --no-backup-if-mismatchSchalter erwähnt, der genau das zu sein scheint, was ich brauche. Aber wenn ich ihn hinzufüge, wird die Sicherungsdatei trotzdem erstellt, nur heißt sie jetzt debian/changelog.~1~.

In der Dokumentation steht auch, dass bei --posixVorhandensein des Schalters keine Backups erstellt werden. Wenn ich diesen Schalter anstelle von verwende --no-backup-if-mismatch, wird die Backup-Datei trotzdem erstellt, allerdings mit dem ursprünglichen .origSuffix.

Die einzige Problemumgehung, die ich gefunden habe, besteht darin, den -B/--prefixSchalter zu verwenden, um Backups in ein Verzeichnis meiner Wahl zu schreiben. Aber das scheint ein hässlicher Hack zu sein. Gibt es keine sauberere Möglichkeit, Backups zu verhindern?

Antwort1

Offensichtlich -B/--prefixist das der einzige Weg.

Antwort2

Entsprechend(diffutils)Backups, --no-backup-if-mismatchmacht, was Sie wollen.

Antwort3

Erwägen Sie die Verwendung der undokumentierten --version-control noneOption. Diese Option istdokumentiert für die FreeBSD-Variante vonpatch.

verwandte Informationen