Di recente ho letto questo riassunto delle problematiche legate al diff.
Supponi inoltre che tra le tue operazioni di modifica consentite vi siano il tradizionale nodo aggiungi / elimina, modifica il contenuto che aggiungi le operazioni estese della sottostruttura copia / sposta, questo rende il problema (di trovare un diff ottimale) più facile o più difficile?