Interleaved Deltas
L'article décrit la structure de données appelée weave, qui représente les révisions d'un fichier comme une suite d'instructions (Line, BeginInsert, BeginDelete, End) indexant les lignes dans un pool global. Les blocs d'insertion et de suppression peuvent se chevaucher, et les ensembles d'activation calculés par traversée du graphe de versions déterminent quelles deltas contribuent au contenu d'une révision. L'algorithme de reconstruction parcourt les instructions en maintenant une file de priorité pour les blocs ouverts afin de produire un masque binaire des lignes actives et les identifiants des versions productrices. Les deltas entre séquences sont obtenus par un algorithme LCS (avec des alternatives pratiques comme Myers), et la fonction d'interleaving étend la weave en appliquant insertions, suppressions et conservations en se basant sur le masque. L'étude situe l'héritage historique de cette approche depuis sccs jusqu'à BitKeeper et Git, établit des liens avec des structures modernes proches (CRDT, Pijul) et propose des exercices pour implémenter, étendre et vérifier un système de contrôle de versions fondé sur les weaves.