git merge -s subtree とすると、 subtree の strategy でマージを行うことができます。このときのマージを計算するアルゴリズムの挙動が、いまいちわかっていないです。

疑似コードぐらいの粒度で、このマージアルゴリズムの挙動を説明すると、どのようなものになりますか?