バージョン管理では、競合を解決する際により多くの情報を利用できます。バージョンと相手のバージョンだけでなく、共通の祖先もあるため、3者間マージを実行できます。ここで、共通の祖先は、ディストリビューションの構成ファイルの元のバージョン、または最後に変更とマージした公式バージョンです。
残念ながら、Ubuntuも私が知っている他の主要なディストリビューションも、構成ファイルの更新時に3者間マージを完全にシームレスにすることはありません。ただし、etckeeperを使用して親しくすることができます。Etckeeperは、/etc
バージョン管理システム(Bazaar、Darcs、Git、Mercurial)で管理するDebianおよび派生物で使用されるパッケージ管理ツールであるAPTのアドオンです。FedoraのYumを含む他のシステムに移植されています。etckeeperの使用をお勧めします。で行った変更を追跡する優れた方法でもあります/etc
。
一部のプログラムはucfを使用して構成ファイルを管理しますが、ユーザーとして制御できるものではありません。
より一般的には、祖先と2つのバージョンがある場合、3方向のマージを行うことができます。 merge
に同梱のユーティリティRCSたりとdiff3 -m
からdiffutils。
また、非常に多くのインタラクティブなdiffおよびmergeプログラムがあります。EmacsとVimには、ほとんどの場合と同様に、そのためのインターフェイスがあります diffビューア。