explain diff-merge-patch at high-level