I bravi ragazzi che hanno creato il SVN sistema di controllo versione usano una struttura a cui si riferiscono come "salta delta" per archiviare la cronologia delle revisioni di file internamente. Una revisione viene archiviata come delta rispetto a una revisione precedente. Tuttavia, la revisione N non è necessariamente memorizzata come delta rispetto alla revisione N-1, come questa:
0 <- 1 <- 2 <- 3 <- 4 <- 5 <- 6 <- 7 <- 8 <- 9
Invece, la revisione N è memorizzata come delta contro N-f (N), dove f (N) è la più grande potenza di due che divide N:
0 <- 1 2 <- 3 4 <- 5 6 <- 7
0 <------ 2 4 <------ 6
0 <---------------- 4
0 <------------------------------------ 8 <- 9
(Apparentemente sembra un skip list ma in realtà non è così simile - per esempio, saltare i delta non sono interessati nel sostenere l'inserimento in mezzo alla lista.) Puoi leggere ulteriori informazioni al riguardo qui .
La mia domanda è: altri sistemi usano skip delta? Sono stati saltati i delta conosciuti / usati / pubblicati prima di SVN, oppure i creatori di SVN li hanno inventati da soli?