(訂正)
2. 次に tree conflictになったディレクトリに絞ってマージする。
提示された例なら trunk/newdir/dir1 の変更を branch1/dir1 に適用する。
+必要なら branch1/dir1 を branch1/newdir/dir1 にリネーム かな。


そもそも、ディレクトリ構成やファイル名が双方で大きく変わる場合、
機械的なマージなどできないことが多い。svnの話でなく一般的に。

マージ機能が多少改善されたところで、機械的に適用できる範囲は限られるから、
何も考えずガンガンブランチつくって別々にディレクトリ構成を変える運用をしてるなら
どんなツール使っても上手くいかないんじゃないかな。