Des systèmes de contrôle de version orientés vers le multimédia (gros fichiers)?

24

Existe-t-il des systèmes de contrôle de version qui sont particulièrement bons (ou mauvais) pour traiter les gros fichiers? Rien de trop fou, mais de plusieurs centaines de mégaoctets à un gigaoctet, disons.

Nous avons actuellement la subversion en place, mais il y a quelques marmonnements à son sujet n'étant pas idéal à cette fin. Je ne suis pas moi-même développeur, et je ne sais pas à quel point ils sont objectifs, alors j'ai pensé que je ferais une rapide enquête communautaire pour plus d'informations.

Je suis intéressé par le comportement ou l'adéquation de ces solutions VCS du point de vue des systèmes ainsi que du point de vue de l'utilisateur.

TIA.

DictatorBob
la source
2
j'aimerais connaître une réponse. pour l'instant, juste rdiff-backup et scripts ...
Javier
@Javier, C'est la solution que nous utilisons également, jusqu'à présent, cela a très bien fonctionné!
faultyserver
/ svn / REPO / 2012 / - 811Gb, subversion-1.6.23 (r1485506). Pas de problème
ALex_hha

Réponses:

4

Une autre option faite pour les workflows multimédias et créatifs est AlienBrain, qui appartient désormais à Avid. Il est utilisé par de nombreux studios de jeux pour contrôler la version des ressources et du code du jeu.

http://www.alienbrain.com/

Ce n'est peut-être pas la meilleure solution si vous ne traitez pas avec des médias.

3dinfluence
la source
C'est en fait celui qu'ils utilisaient dans un certain grand studio de jeu où je travaillais. Je ne me souviens pas du nom. Merci. :)
DictatorBob
7

Vous constaterez qu'ils sont très importants en ce qui concerne les fichiers binaires.

Les marmonnements que vous avez entendus proviennent très probablement de l'idée que le contrôle de version des binaires est un peu en contradiction avec la puissance du contrôle de version. Les fichiers binaires ne peuvent pas être différenciés ou fusionnés, ils sont donc traités comme des copies stupides. Le fichier entier est remplacé à chaque petite modification.

Cela ne veut pas dire que vous ne pouvez pas contrôler les versions des fichiers binaires ou bien que cela ne vous est pas utile . Si vous devez restaurer un fichier dans la version que vous avez validée hier. Dans ce cas, il vous a été utile.

Bien que vous puissiez trouver une solution de stockage avec des instantanés vous sert mieux et plus efficacement.

Dan Carley
la source
2
Un système de stockage avec des instantanés est ce que je recommanderais également. J'utilise ZFS pour versionner les disques durs de ma machine virtuelle et cela fonctionne bien. Les instantanés sont presque instantanés et ne prennent que l'espace nécessaire pour stocker les blocs modifiés.
Amok
Les instantanés peuvent être une bonne option. Je suppose que cela dépend si je peux ou non le configurer afin qu'ils puissent être (principalement) indépendants.
DictatorBob
@ Dan, n'est-ce pas mieux que simplement copier-coller?
Pacerier
6

Il semble que Boar satisferait vos exigences. Il s'agit du contrôle de version pour les gros fichiers binaires tels que les vidéos ou les images.

Mats Ekberg
la source
Ce projet me plaît, car il n'a pas de copie de répertoire de travail de l'état actuel du référentiel. Cela signifie que seules les données sauvegardées (et les révisions) et l'original existent, pas une «sauvegarde» du dernier état mis à jour du référentiel. Ou du moins c'est comme ça qu'il me semble.
MrSnowflake
4

La grande majorité de ceux qui doivent gérer des charges de fichiers binaires (par exemple des jeux) ont tendance à utiliser par force, parfois avec une couche dessus.


la source
3

git-annex "permet de gérer des fichiers avec git, sans vérifier le contenu du fichier dans git. Bien que cela puisse sembler paradoxal, il est utile lorsque vous traitez des fichiers plus gros que git ne peut actuellement les gérer facilement, que ce soit en raison de limitations de mémoire, de temps ou de disque espace."

sciurus
la source
1

Adobe propose la version Cue CS4, conçue pour les projets multimédias. Vous voudrez peut-être vérifier cela.

Chris
la source
1

Je crois que Bazaar gère assez bien les fichiers binaires, cela semble être documenté ici (4.1). Je suppose que cela dépend si vous voulez dépenser de l'argent ou non, car la documentation indique qu'il existe de meilleurs outils (il ne les nomme pas cependant).

PixelSmack
la source
3
Citant ce site: Cela dit, bzr est principalement un système de contrôle de code source, pas un système d'archivage multimédia. Il n'est donc pas prioritaire de prendre en charge d'énormes binaires (cent mégaoctets) ou des arbres multi-gigaoctets. Il existe d'autres outils mieux adaptés à cela.
Cristian Ciupitu
1

La page Wikipedia de Subversion indique également qu'il prend en charge les fichiers binaires, bien que je n'en ai pas d'expérience personnelle, je ne peux donc pas commenter son fonctionnement.

Prise en charge native des fichiers binaires, avec un stockage binaire-diff à faible encombrement.


la source
1

Si, et c'est un gros si, vous utilisez le logiciel Autodesk (Maya, Autocad, Inventor, etc ...) Ensuite, il y a Autodesk Vault .

J'ai récemment découvert cela au travail. Ce n'est pas gratuit, mais c'est apparemment le seul VCS qui fonctionne sur les fichiers multimédia d'Autodesk.

Cependant, il ne convient que pour le suivi des modifications des fichiers qu'il peut inspecter, donc dessiner des fichiers convient, mais pas possible pour les `` ressources rendues ''.

J'irais probablement avec git.

Tom O'Connor
la source
1

Une méthode entièrement latérale consiste à utiliser le système de fichiers union AUFS qui est utilisé par Docker pour permettre aux utilisateurs de créer des différences avec des nœuds de système de fichiers entiers et de les publier. Ils en parlent sur leur blog .

Ce n'est pas un contrôle de version avec tous les outils de git mais cela permet d'ajouter et de modifier des fichiers dans une grande arborescence sans limite de taille réelle.

Ce serait une solution très robuste uniquement pour les fichiers multimédias, mais je ne pense pas qu'elle donne un contrôle granulaire, donc ce serait mieux pour les projets où le besoin est similaire à celui de Docker.

Adam Nelson
la source
0

Git pourra gérer des fichiers binaires de "plusieurs centaines de mégaoctets à un gigaoctet". C'est très rapide.

Aleksandr Levchuk
la source
1
Il n'est pas non plus basé sur un serveur. Maintenant, même si j'aime vraiment l'idée d'un VCS distribué où votre machine locale a une copie de l'ensemble du référentiel, cela peut être un peu lent et encombrant lorsque votre référentiel souffle 1000 Go - ce qui est plutôt trivial lorsque vous traitez des fichiers dans la taille en gigaoctets. Ensuite, un référentiel central + un dossier de travail local garantissent que les machines locales peuvent rester saines.
TomTom
0

La recherche sur la gestion des actifs numériques semble s'appeler "DAM" - c'est un segment destiné aux développeurs de jeux, aux studios, aux scientifiques qui ont de gros fichiers. Il existe de nombreux produits commerciaux, et peut-être que l'interface graphique sera facile car le segment est destiné aux artistes et aux non-ingénieurs. Je regarde resourcespace.org en ce moment parce que son open-source et semble simple et flexible.

John Fisher
la source
Git-lfs a été dévoilé. YMMV
Deer Hunter
Oui, il y a git-lfs, et aussi github pour windows ... Je ne les ai pas abandonnés pour mon usage, mais git-lfs + gitforwindows a une pire interface graphique mais me permet d'utiliser le stockage local; github vous oblige (je pense) à stocker sur githuib, qui n'est pas un démarreur pour ce sujet. Il a une belle interface graphique. Les deux vous donnent Git Bash, ce qui est génial!
John Fisher,