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?
fonte
Respostas:
A partir do seu link Skip-Deltas no Subversion , li esta nota sobre como manter o histórico de versões dos arquivos e lá está escrito:
Então, meu palpite é que o skip delta foi inventado pela equipe do SVN em algum lugar antes de 2002. Alguém poderia entrar em contato com esse Greg Hudson, caso ele saiba mais.
Ou talvez eles usaram um sistema de controle de versão (CVS) para desenvolver o SVN e ainda existem registros de confirmação?
Também procurei compactação delta e não encontrei nenhuma referência anterior. Eu acho que faria sentido, porque essa técnica skip delta é especializada em recuperação rápida e talvez antes do SVN ninguém precisasse de recuperação rápida de dados compactados delta. A compressão Delta em si está na literatura desde os anos 70/80. Um dos primeiros trabalhos é Experiências com compactação delta de dados produzidos pelo DIII .
fonte