sistema di controllo versione per file di grandi dimensioni?
-
21-08-2019 - |
Domanda
Sto cercando un modo rapido, ma non così sporco di fare istantanee di un gruppo di file per un totale di circa 80 concerti. Il problema qui è che molti dei file sono circa 1 GB di grandi dimensioni.
Qual è il miglior sistema di controllo della versione gratuita per questo tipo di cose?
Lo so ZFS è un'opzione, ma preferirei provare qualcos'altro prima.
Soluzione
Subversion gestire i vostri file> 1 GB con buona disinvoltura carattere per la maggior parte, ma se ci sono molti grandi cambiamenti si aspettano la generazione di diff per prendere un po '...
Subversion migliore pratiche ha una sezione sui file di grandi dimensioni:
Una bella caratteristica di Subversion è che in base alla progettazione, non c'è limite alla la dimensione dei file che può gestire. I file vengono inviati "streamily" sia le direzioni tra client Subversion e il server, con un piccolo, costante quantità di memoria su ciascun lato della rete.
Naturalmente, ci sono una serie di questioni pratiche da prendere in considerazione. Mentre non c'è bisogno di preoccuparsi per i file nella gamma kilobyte dimensioni (per esempio file tipici di codice sorgente), commettendo i file più grandi possono prendere un enorme quantità di tempo e spazio (ad esempio i file che sono decine o centinaia di megabyte di grandi dimensioni).
Per cominciare, ricordate che il vostro lavoro di Subversion negozi di copia copie di ripristino di tutti i file della versione a controllo nel .svn / text-base / la zona. Ciò significa che la vostra copia di lavoro occupa almeno il doppio spazio su disco come l'insieme di dati originale. Oltre a ciò, il Subversion client segue un algoritmo (attualmente non regolabile) per aver commesso file:
. Copia il file di .svn / tmp / (può prendere un po ', e utilizza temporaneamente spazio su disco))
. Esegue un diff binario tra la tmpfile e copia intatta, o tra il tmpfile e di un vuoto-file se di recente aggiunto. (Può richiedere molto tempo per calcolare, anche se solo una piccola quantità di dati potrebbe in ultima analisi, essere inviati attraverso la rete)
. invia il diff al server, poi si sposta il tmpfile in .svn / text-base /
mentre non c'è limite teorico alle dimensioni dei file, ti devono essere consapevoli che i file di grandi dimensioni possono richiedere un po 'di paziente attesa, mentre il client di sbuffa via. Si può stare tranquilli, tuttavia, che a differenza di CVS, i file di grandi dimensioni non saranno fuori combattimento il server o influenzare gli altri utenti.
Altri suggerimenti
Si potrebbe davvero provare a Monotono però, solo check it out. Si potrebbe trovare quello che stai cercando con esso.