As pessoas boas que criaram o sistema de controle de versão SVN usam uma estrutura a que se referem como "pular deltas" para armazenar o histórico de revisões de arquivos internamente. Uma revisão é armazenada como delta em relação a uma revisão anterior. No entanto, a revisão N não é necessariamente armazenada como delta em relação à revisão N-1, assim:
0 <- 1 <- 2 <- 3 <- 4 <- 5 <- 6 <- 7 <- 8 <- 9
Em vez disso, a revisão N é armazenada como um delta contra Nf (N), onde f (N) é a maior potência de dois que divide N:
0 <- 1 2 <- 3 4 <- 5 6 <- 7
0 <------ 2 4 <------ 6
0 <---------------- 4
0 <------------------------------------ 8 <- 9
(Superficialmente, parece uma lista de pulos, mas na verdade não é tão semelhante - por exemplo, os pular deltas não estão interessados em oferecer suporte à inserção no meio da lista.) Você pode ler mais sobre isso aqui .
Minha pergunta é: Outros sistemas usam skip deltas? Ignorar deltas eram conhecidos / usados / publicados antes do SVN ou os criadores do SVN os inventaram?