J'ai eu l'air fou pour une explication d'un algorithme de diff qui fonctionne et est efficace.
Le plus proche que j'ai obtenu est ce lien vers la RFC 3284 (provenant de plusieurs articles de blog d'Eric Sink), qui décrit en termes parfaitement compréhensibles le format de données dans lequel les résultats de diff sont stockés. Cependant, il ne fait aucune mention de la manière dont un programme atteindrait ces résultats tout en effectuant une différence.
J'essaie de rechercher cela par curiosité personnelle, car je suis sûr qu'il doit y avoir des compromis lors de la mise en œuvre d'un algorithme de diff, qui sont parfois assez clairs lorsque vous regardez les diffs et que vous vous demandez "pourquoi le programme diff a-t-il choisi cela comme un changement au lieu de?"...
Où puis-je trouver une description d'un algorithme efficace qui finirait par produire du VCDIFF?
Au fait, si vous trouvez une description de l'algorithme utilisé par DiffMerge de SourceGear, ce serait encore mieux.
REMARQUE: la sous-séquence commune la plus longue ne semble pas être l'algorithme utilisé par VCDIFF, il semble qu'ils font quelque chose de plus intelligent, étant donné le format de données qu'ils utilisent.