Sistemas de controle de versão voltados para multimídia (arquivos grandes)?

24

Existem sistemas de controle de versão por aí particularmente bons (ou ruins) para lidar com arquivos grandes? Nada muito louco, mas de várias centenas de megabytes a um gigabyte, digamos.

Atualmente, temos a subversão em vigor, mas há alguns murmúrios sobre ela não ser ideal para esse fim. Eu não sou desenvolvedor e não sei quão objetivos eles estão sendo, então pensei em fazer uma pesquisa rápida da comunidade para obter informações extras.

Estou interessado no comportamento ou na adequação dessas soluções VCS do ponto de vista dos sistemas e do ponto de vista do usuário.

TIA.

DictatorBob
fonte
2
eu adoraria saber uma resposta. por agora, apenas rdiff-backup e scripts ...
Javier
@Javier, esta é a solução que usamos também, até agora funcionou muito bem!
faultyserver
/ svn / REPO / 2012 / - 811Gb, subversão-1.6.23 (r1485506). Não tenho nenhum problema
ALex_hha

Respostas:

4

Outra opção feita para fluxos de trabalho criativos e multimídia é o AlienBrain, que agora pertence à Avid. É usado por muitos estúdios de jogos para controlar a versão dos ativos e códigos do jogo.

http://www.alienbrain.com/

Pode não ser a melhor solução, se você não estiver lidando com recursos de mídia.

3dinfluence
fonte
Na verdade, eles costumavam usar em um determinado estúdio de jogos em que eu trabalhava. Não conseguia lembrar o nome. Obrigado. :)
DictatorBob
7

Você verá que eles são muito importantes quando se trata de arquivos binários.

Os murmúrios que você ouviu provavelmente se originam da noção de que os binários de controle de versão estão um pouco em desacordo com o poder do controle de versão. Os arquivos binários não podem ser diferenciados ou mesclados; portanto, eles são tratados como cópias estúpidas. O arquivo inteiro é substituído a cada pequena alteração.

Isso não quer dizer que você pode não versão arquivos binários de controle ou de fato que não é útil para você a fazê-lo. Se você tiver o requisito de reverter um arquivo para a versão que você confirmou ontem. Nesse caso, serviu para você.

Embora você possa encontrar uma solução de armazenamento com instantâneos, é melhor e mais eficiente.

Dan Carley
fonte
2
Um sistema de armazenamento com instantâneos é o que eu recomendaria também. Eu uso o ZFS para versão dos discos rígidos da minha máquina virtual e funciona bem. Os instantâneos são quase instantâneos e ocupam apenas o espaço necessário para armazenar os blocos alterados.
Amok
Instantâneos podem ser uma boa opção. Eu acho que depende se eu posso configurá-lo ou não para que eles possam ser (principalmente) independentes.
DictatorBob
@ Dan, isso não é melhor do que simplesmente copiar e colar?
Pacerier 22/10
6

Parece que o Boar atenderia às suas necessidades. É o controle de versão para arquivos binários grandes, como vídeos ou imagens.

Mats Ekberg
fonte
Este projeto me agrada, porque não possui uma cópia do diretório de trabalho do estado atual do repositório. Significando que apenas os dados de backup (e as revisões) e o original existem, não um 'backup' do último estado atualizado do repositório. Ou pelo menos é assim que me parece.
MrSnowflake
4

A grande maioria dos que precisam lidar com muitos arquivos binários (por exemplo, jogos) costuma usar forçosamente, às vezes com uma camada sobre ele.


fonte
3

git-anexo "permite gerenciar arquivos com o git, sem verificar o conteúdo do arquivo no git. Embora isso possa parecer paradoxal, é útil ao lidar com arquivos maiores do que o git atualmente pode manipular facilmente, seja devido a limitações de memória, tempo ou disco espaço."

sciurus
fonte
1

A Adobe oferece o Version Cue CS4, desenvolvido para projetos de multimídia. Você pode querer verificar isso.

Chris
fonte
1

Acredito que o Bazaar lida com arquivos binários muito bem, isso parece documentado aqui (4.1). Suponho que isso depende se você deseja gastar dinheiro ou não, pois a documentação declara que existem ferramentas melhores por aí (no entanto, não as nomeia).

PixelSmack
fonte
3
Citações desse site: Dito isto, o bzr é principalmente um sistema de controle de código-fonte, não um sistema de arquivo de mídia. Portanto, não é uma prioridade oferecer suporte a enormes binários (cem megabytes) ou árvores com vários gigabytes. Existem outras ferramentas mais adequadas para isso.
Cristian Ciupitu 6/10/09
1

A página da Wikipedia para o Subversion também afirma que ele suporta arquivos binários, embora eu não tenha experiência pessoal com isso, por isso não posso comentar como funciona.

Suporte nativo para arquivos binários, com armazenamento binário-diff com espaço eficiente.


fonte
1

Se, e é muito importante, você estiver usando o software Autodesk (Maya, Autocad, Inventor, etc ...). Então existe o Autodesk Vault .

Eu descobri isso recentemente no trabalho. Não é gratuito, mas é aparentemente o único VCS que funciona nos arquivos de ativos de mídia da Autodesk.

No entanto, ele é realmente adequado apenas para rastrear alterações nos arquivos que podem ser inspecionados; portanto, desenhar arquivos é bom, mas não é possível para 'recursos renderizados'.

Eu provavelmente iria com git.

Tom O'Connor
fonte
1

Um método totalmente lateral é usar o sistema de arquivos AUFS da união, usado pelo Docker para permitir que os usuários criem diffs em nós de sistema de arquivos inteiros e os publiquem. Eles falam sobre isso em seu blog .

Isso não é controle de versão com todas as ferramentas do git, mas permite adicionar e modificar arquivos em uma grande árvore sem limite de tamanho real.

Essa seria uma solução muito robusta apenas para os arquivos de mídia, mas acho que não oferece controle granular, portanto seria melhor para projetos em que a necessidade é semelhante à do Docker.

Adam Nelson
fonte
0

O Git poderá lidar com arquivos binários de "várias centenas de megabytes a um gigabyte". É muito rápido

Aleksandr Levchuk
fonte
1
Também não é baseado em servidor. Agora, embora eu realmente goste da ideia de um VCS distribuído em que sua máquina local tenha uma cópia de todo o repositório, isso pode ser um pouco lento e complicado quando o seu repositório explode 1000 GB - o que é meio trivial quando você lida com arquivos em o tamanho de gigabyte. Em seguida, um repositório central + pasta de trabalho local garantem que as máquinas locais possam permanecer saudáveis.
TomTom
0

A pesquisa no Digital Asset Management parece ser chamada de "DAM" - é um segmento destinado a desenvolvedores de jogos, estúdios, cientistas que possuem arquivos grandes. Existem alguns produtos comerciais e, possivelmente, a GUI será fácil, já que o segmento é voltado para artistas e não-engenheiros. Eu estou olhando para resourcespace.org agora porque é de código aberto e parece simples e flexível.

John Fisher
fonte
Git-lfs foi revelado. YMMV
Deer Hunter
Sim, existe o git-lfs e também o github para Windows ... Eu não desisti deles para uso, mas o git-lfs + gitforwindows tem uma GUI pior, mas me permite usar o armazenamento local; O github exige (eu acho) que você armazene no githuib, que não é iniciante neste tópico. Ele tem uma boa interface gráfica. Ambos oferecem Git Bash, o que é ótimo!
John John