Subversion FSFS - come sono le revisioni memorizzati nel repository?
-
02-10-2019 - |
Domanda
Mi piacerebbe capire come la sovversione negozi revisioni in FSFS, e come una visione / shapshot è costruito per un dato numero di revisione.
Quello che ho raccolte da Googling è che FSFS è una struttura di directory semplice, con sottodirectory per ogni revisione, come:
..svn/rev/0/
..svn/rev/1/
..svn/rev/2/
Probabilmente solo le modifiche (delta) vengono registrate sotto ogni directory di revisione. Quindi, questo significa che quando si costruisce la vista / snapshot per revisione N, tutti i delta da 0 a N devono essere in loop oltre?
Tutti i link a risorse su questo molto apprezzato.
Grazie
Soluzione
Subversion memorizza tutti i delta di ogni revisione in un unico (flat) revisione del file. Ogni file / cartella all'interno del repository (chiamato "nodo") ha un ID interno.
Un singolo file di revisione è composto da tutti i delta compressi per questo particolare commettere, però i delta non sono contro la revisione precedente, ma utilizzare un programma chiamato "delta saltato" evitando lineare crescente tempo di ricerca per la coltivazione cronologia delle versioni.
Importante è che FSFS usi avanti delta ??strong> al posto del delta arretrate che utilizzano il BDB-backend. Così FSFS è più veloce sul commit, ma più lento al check-out, caratteristica di prestazione di Berkeley DB è contrario.
E 'possibile leggere molto di più all'interno SVN nota Design Chi FSFS .
Altri suggerimenti
Questo è il link al riferimento di struttura di FSFS (compresa la descrizione formato di file): https://svn.apache.org/repos/asf/subversion/trunk/subversion/libsvn_fs_fs/structure