Sistemi di controllo della versione orientati al multimedia (file di grandi dimensioni)?


24

Esistono sistemi di controllo delle versioni particolarmente efficaci (o non validi) per gestire file di grandi dimensioni? Niente di troppo folle, ma da diverse centinaia di megabyte a un gigabyte, diciamo.

Attualmente abbiamo sovversione in atto, ma ci sono alcuni borbottii sul fatto che non sia l'ideale per questo scopo. Io stesso non sono uno sviluppatore e non so quanto siano oggettivi, quindi ho pensato di fare un rapido sondaggio sulla comunità per ulteriori informazioni.

Sono interessato al comportamento o all'idoneità di queste soluzioni VCS dal punto di vista dei sistemi, nonché dal punto di vista dell'utente.

TIA.


2
mi piacerebbe sapere una risposta. per ora, solo rdiff-backup e script ...
Javier,

@Javier, questa è la soluzione che usiamo anche noi, finora ha funzionato alla grande!
faultyserver,

/ svn / REPO / 2012 / - 811Gb, sovversione-1.6.23 (r1485506). Non avere alcun problema
ALex_hha,

Risposte:


4

Un'altra opzione fatta per flussi di lavoro multimediali e creativi è AlienBrain, che ora è di proprietà di Avid. È utilizzato da molti game studio per controllare le risorse e il codice del gioco.

http://www.alienbrain.com/

Potrebbe non essere la soluzione migliore se non hai a che fare con risorse multimediali.


In realtà è quello che usavano in un certo grande studio di gioco in cui ho lavorato. Non ricordo il nome. Grazie. :)
DictatorBob,

7

Scoprirai che sono davvero tantissimi quando si tratta di file binari.

I borbottii che hai sentito probabilmente provengono dall'idea che la versione che controlla i binari è un po 'in contrasto con la potenza del controllo della versione. I file binari non possono essere diffusi o uniti, quindi vengono trattati come copie stupide. L'intero file viene sostituito ad ogni piccola modifica.

Questo non vuol dire che si può non file binari di controllo di versione o, infatti, che non è utile per voi a farlo. Se hai l'obbligo di ripristinare un file alla versione che hai eseguito ieri. Nel qual caso ti è stato utile.

Anche se potresti trovare una soluzione di archiviazione con snapshot ti offre un servizio migliore e più efficiente.


2
Un sistema di archiviazione con snapshot è anche quello che consiglierei. Uso ZFS per eseguire la versione dei dischi rigidi della mia macchina virtuale e funziona bene. Le istantanee sono quasi istantanee e occupano solo lo spazio necessario per memorizzare i blocchi modificati.
Amok,

Le istantanee potrebbero essere una buona opzione. Immagino che dipenda dal fatto se posso impostarlo o meno in modo che possano essere (principalmente) indipendenti.
DictatorBob,

@ Dan, non è meglio che semplicemente copiare e incollare?
Pacerier,

6

Sembra che il verro soddisfi le tue esigenze. È il controllo della versione per file binari di grandi dimensioni come video o immagini.


Questo progetto mi piace, perché non ha una copia della directory di lavoro dello stato del repository corrente. Significa che esistono solo i dati di backup (e le revisioni) e l'originale, non un "backup" dell'ultimo stato aggiornato del repository. O almeno è così che mi sembra.
MrSnowflake

4

La stragrande maggioranza di coloro che hanno a che fare con un sacco di file binari (ad es. Giochi) tendono a usare perforce, a volte con uno strato sopra di esso.


3

git-annex "consente di gestire i file con git, senza controllare il contenuto dei file in git. Sebbene ciò possa sembrare paradossale, è utile quando si tratta di file più grandi di git che possono essere facilmente gestiti, a causa di limitazioni nella memoria, nel tempo o nel disco spazio."


1

Adobe offre Version Cue CS4, realizzato per progetti multimediali. Potresti voler dare un'occhiata.


1

Credo che Bazaar gestisca abbastanza bene i file binari, questo sembra essere documentato qui (4.1). Suppongo che questo dipenda dal fatto che tu voglia spendere soldi o meno, dato che la documentazione indica che ci sono strumenti migliori là fuori (non li nomina comunque).


3
Citando da quel sito: Detto questo, bzr è principalmente un sistema di controllo del codice sorgente, non un sistema di archiviazione multimediale. Quindi non è una priorità supportare enormi binari (centinaia di megabyte) o alberi multi-gigabyte. Esistono altri strumenti più adatti a questo.
Cristian Ciupitu,

1

La pagina Wikipedia per Subversion afferma anche che supporta i file binari anche se non ho esperienza personale di questo, quindi non posso commentare su come funziona.

Supporto nativo per i file binari, con archiviazione binaria-diff efficiente in termini di spazio.


1

If, ed è un grande if, stai utilizzando il software Autodesk (Maya, Autocad, Inventor, ecc ...) Quindi c'è Autodesk Vault .

Di recente l'ho scoperto al lavoro. Non è gratuito, ma è apparentemente l'unico VCS che funziona sui file di risorse multimediali di Autodesk.

Tuttavia, è davvero adatto solo per tenere traccia delle modifiche ai file che può ispezionare, quindi disegnare file va bene, ma non è possibile per "risorse renderizzate".

Probabilmente andrei con Git.


1

Un metodo completamente laterale consiste nell'utilizzare il filesystem union AUFS che viene utilizzato da Docker per consentire agli utenti di creare differenze rispetto a interi nodi del filesystem e pubblicarle. Ne parlano sul loro blog .

Questo non è il controllo della versione con tutti gli strumenti di git ma consente di aggiungere e modificare file in un albero di grandi dimensioni senza limiti di dimensioni reali.

Questa sarebbe una soluzione molto robusta solo per i file multimediali ma non credo che dia un controllo granulare, quindi sarebbe la cosa migliore per i progetti in cui la necessità è simile a quella di Docker.


0

Git sarà in grado di gestire file binari da "diverse centinaia di megabyte a gigabyte". È molto veloce.


1
Inoltre non è basato su server. Ora, mentre mi piace davvero l'idea di un VCS distribuito in cui il tuo computer locale ha una copia dell'intero repository, questo potrebbe essere un po 'lento e ingombrante quando il tuo repository soffia 1000 gb, il che è piuttosto banale quando si tratta di file in le dimensioni di gigabyte. Quindi un repository centrale + cartella di lavoro locale assicurano che le macchine locali possano rimanere sane.
TomTom,

0

La ricerca su Digital Asset Management sembra essere chiamata "DAM" - è un segmento rivolto a sviluppatori di giochi, studi, scienziati con file di grandi dimensioni. Ci sono alcuni prodotti commerciali e probabilmente la GUI sarà facile poiché il segmento è rivolto ad artisti e tipi non ingegneristici. Sto guardando risorsepace.org in questo momento perché è open-source e sembra semplice e flessibile.


Git-lfs è stato svelato. YMMV
Deer Hunter

Sì, c'è git-lfs, e anche github per Windows ... Non ho rinunciato a loro per il mio uso, ma git-lfs + gitforwindows ha una GUI peggiore ma mi permette di usare l'archiviazione locale; github richiede (penso) di archiviare su githuib, che non è un punto di partenza per questo argomento. Ha una bella interfaccia grafica. Entrambi ti danno Git Bash che è fantastico!
John Fisher,
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.