マージ (バージョン管理システム)
3ウェイマージにおける技術の進歩により、ソフトウェア構成管理作業において、ブランチを切った上で同時並行して変更を行うという開発スタイルがソフトウェアの開発環境において次第に一般的になっていった。1990年代前半から中頃は、小規模なソフトウェア開発チームではこのような開発スタイルは避けるべきものとされていた。これは、マージ作業の複雑さ、マージによるコンフリクトの発生、費用効果の高い3ウェイマージツールが手に入りにくかったことなどに起因する。一方、大規模なソフトウェア開発チームではこのような開発スタイルの需要が増加していた。これは、複数の開発者が同時刻に同じファイルを変更するという状況が発生しやすくなっていたことに起因する。この時代においては、マージは実際困難を伴う作業であった。そのため、マージ作業の単純化のために、プログラムの所有権に関する取り決めを行うようなケースもあった。
2000年代の初め頃には3ウェイマージツールが手に入りやすくなった。これにより、開発環境における技術的制約を考慮する必要性が低下し、小規模なソフトウェア開発チームでもバージョン管理システム上で同時並行して変更を行いたいという傾向が強まることになった。しかしながら、マージ処理により問題が発生するケースもあった。この時期には、インテリジェントなマージツールであってもすべてのコンフリクトを自動で解決するのは難しかったため、手作業を排除できず、これがヒューマンエラーの元となっていた。
多くのソフトウェア開発チームにおいて、現在でも3ウェイマージは非常に負荷の高い作業である。これは特に、マージ作業の担当者に、元々のコード・途中のコミット内容・期待される修正結果といった点に対する深い理解が要求されるためである。
自動マージツールによって行われるマージ処理には、大きく分けて2ウェイマージと3ウェイマージがある。2ウェイマージよりも3ウェイマージの方がより強力で信頼性も高い。