This merge is the most reliable and has performed well in practice. It has also required the least amount of user intervention, and in many cases, requiring no intervention at all (depending upon the complexity of the merge) making the process available for task automation.
[edit] Trends
The technological advancements in the 3-way merge method have led to the increase in popularity among software development environments to institute concurrent modification through branching in their practices of Software configuration management (SCM). In the early to mid-1990's branching was a discouraged practice in smaller software development groups due to the complexities and conflicts introduced through the merging process and the low availability of 3-way merge tools. However, this practice was more in demand among larger groups merely due to the increased likelihood that two developers would need to modify the same file at the same time. Merging, at that time, was indeed a challenge and in some environments, additional proprietary conventions were introduced to simplify the necessary merge.
In the early 2000's, the increased availability of reliable 3-way merge tools has allowed software development groups to no longer concern themselves with the technical limitations of their infrastructure, but rather focus on the complexity of the product being developed and the management capabilities of the staff. Even smaller software groups are more inclined to approach concurrent modification in their revision control systems. Nevertheless, merges still often cause problems; even intelligent merge tools can't resolve all conflicts automatically. Consequently, human interaction is required, which can lead to human errors. The term "mergency" is sometimes used to describe a significant merge requiring a delicate manual effort to resolve.



.png)

