3-way merge 알고리즘에 대해

Git에서 두 브랜치를 머지할 때, 기본적으로 3-way merge 알고리즘을 사용하게 된다. 어떤 sequence A, B와 그 둘의 base인 sequence O가 있다고 하자. Git으로 치면 A, B는 머지할 브랜치, O는 base commit이 된다. sequence의 각 item은 소스코드의 한 줄이라고 생각하면 된다. 이렇게 A, O, B가 있을 때, A, O, B에 대해 [Longest common subsequence](이하 LCS) (( … 3-way merge 알고리즘에 대해 계속 읽기