Контроль версій має більше інформації, коли він вирішує конфлікти: він має не тільки вашу версію та версію іншого хлопця, але й загальний пращур, і, таким чином, він може робити тристоронній злиття . Тут загальним предком є оригінальна версія файлу конфігурації в дистрибутиві або офіційна версія, яку ви востаннє об'єднали зі своїми змінами.
На жаль, ні Ubuntu, ні будь-який інший великий дистрибутив, про який я знаю, не робить абсолютно безпроблемним тристоронні злиття, коли файл конфігурації оновлюється. Однак ви можете наблизитися до etckeeper . Etckeeper - надбудова для APT, інструменту управління пакетами, який використовується Debian та похідних, який управляє /etc
в системі управління версіями (Bazaar, Darcs, Git, Mercurial); його переносили на інші системи, включаючи Yum у Fedora. Я рекомендую використовувати etckeeper; це також чудовий спосіб слідкувати за внесеними вами змінами /etc
.
Деякі програми управляють своїми файлами конфігурації за допомогою ucf , але це не те, що ви маєте під контролем як користувач.
У більш загальному плані , коли у вас є предка і дві версії, ви можете зробити тристоронню злиття з merge
утилітою поставляється з RCS або diff3 -m
з Diffutils .
Існує також велика кількість інтерактивних програм для розлиття та злиття. Emacs і Vim для цього мають інтерфейси, як і більшість глядачів .