![¿Cómo evitar que Patch cree archivos de respaldo?](https://rvso.com/image/1302215/%C2%BFC%C3%B3mo%20evitar%20que%20Patch%20cree%20archivos%20de%20respaldo%3F.png)
Estoy escribiendo un código que aplicará el programa patch(1) y quiero evitar por completo que cree archivos de respaldo. Es decir, no quiero que cree foo.orig
archivos cuando no puede actualizar un archivo en particular (en cuyo caso crea un foo.rej
archivo), o cuando actualiza exitosamente un archivo pero hay cierta confusión, las cuales normalmente hace. . Parece más fácil decirlo que hacerlo.
Caso base: ejecuto "patch" en un directorio fuente de Debian y no se puede actualizar el debian/changelog
archivo. patch crea un debian/changelog.orig
archivo de archivo (que es lo que estoy tratando de evitar).
La documentación menciona un --no-backup-if-mismatch
interruptor, que parece ser justo lo que necesito. Pero cuando lo agrego, el archivo de respaldo aún se crea, solo que ahora se llama debian/changelog.~1~
.
La documentación también dice que cuando el --posix
interruptor esté presente, no se realizarán copias de seguridad. Cuando uso este modificador en lugar de --no-backup-if-mismatch
, el archivo de copia de seguridad aún se crea, pero con el .orig
sufijo original.
La única solución que he encontrado es usar el -B/--prefix
interruptor para dirigir las copias de seguridad y escribirlas en un directorio de mi elección. Pero esto parece un truco feo. ¿No existe una forma más limpia de evitar las copias de seguridad?
Respuesta1
Aparentemente -B/--prefix
es el único camino a seguir.
Respuesta2
De acuerdo a(diffutils)Copias de seguridad, --no-backup-if-mismatch
hace lo que quieres.
Respuesta3
Considere usar la --version-control none
opción indocumentada. Esa opción esdocumentado para la variante FreeBSD depatch
.