El control de versiones tiene más información disponible cuando resuelve conflictos: no solo tiene su versión y la versión del otro tipo, sino también el antepasado común, y por lo tanto puede hacer una fusión tripartita . Aquí, el ancestro común es la versión original del archivo de configuración en la distribución, o la versión oficial que fusionó por última vez con sus cambios.
Desafortunadamente, ni Ubuntu ni ninguna otra distribución importante que conozca hace que sea completamente sencillo hacer fusiones tripartitas cuando se actualiza un archivo de configuración. Sin embargo, puedes acercarte con etckeeper . Etckeeper es un complemento para APT, la herramienta de gestión de paquetes utilizada por Debian y derivados, que gestiona /etc
en un sistema de control de versiones (Bazaar, Darcs, Git, Mercurial); se ha portado a otros sistemas, incluido Yum en Fedora. Recomiendo usar etckeeper; También es una excelente manera de realizar un seguimiento de los cambios que realiza /etc
.
Algunos programas administran sus archivos de configuración con ucf , pero eso no es algo de lo que tenga control como usuario.
De manera más general, cuando se tiene el antepasado y dos versiones, se puede hacer una fusión a tres bandas con la merge
utilidad entregada con RCS o diff3 -m
de diffutils .
También hay una gran cantidad de programas interactivos de diferencias y fusión. Emacs y Vim tienen interfaces para eso, al igual que la mayoría de los visores diff .