sistema de versionamento com menos duplicação de dados

4

Temos um sistema de gerenciamento de configuração interno e gostaríamos de adicionar versões de arquivo de configuração a ele de uma maneira simples. Meu primeiro pensamento foi svn (ou similar), mas estou preocupado em criar um repositório em um local, apenas para verificar em outro local no mesmo sistema. Neste caso, não temos uso para check-outs remotos ou múltiplos. Existe um sistema de versionamento de software que vive em um local (metadados + cópia de trabalho) e armazenará apenas deltas? Alguns de nossos nós de configuração possuem grandes tarballs e instaladores binários.

    
por Kyle Smith 27.05.2011 / 14:52

3 respostas

6

Discos são baratos; as redes são rápidas; a perda de dados não é divertida (esteve lá, perdeu algumas semanas de trabalho). Ter um repositório em um local separado é um recurso, não um bug. Custa centavos e pode poupar muito sofrimento.

Dito isto, se você realmente quiser seguir esse caminho, talvez você consiga usar um sistema de arquivos moderno com snapshot interno. No Solaris, usei o snapshot do ZFS como controle de versão de um homem pobre por anos. No Linux, o btrfs pode estar se aproximando do uso.

    
por 27.05.2011 / 15:54
5

Você já considerou o etckeeper ?

É um sistema de versão "in-loco" que pode confiar (veja sua configuração) na maioria dos DVCS ( hg , git , bzr ou darcs ).

Ele automaticamente atualiza todos os seus arquivos em /etc e os confirma automaticamente toda vez que eles são modificados.

Como ele depende do DVCS, você pode até usá-lo para duplicar / fazer backup de sua configuração usando os comandos push/pull/mirror/etc. (dependendo do backend do DVCS que você escolher).

    
por 27.05.2011 / 15:57
1

Na verdade, não é tão anormal. Não há nenhum problema funcional em lidar com as coisas dessa maneira. A maioria dos VCS não lida particularmente bem com o rastreamento de alterações em um binário, portanto, é de menor utilidade para rastrear mudanças, mas ainda assim funcionaria. Se você usa um DVCS, então você ganha alguma proteção contra uma única falha do sistema. git ou mercurial devem estar disponíveis para RH sem muita dificuldade e devem funcionar bem para suas necessidades, assim como o svn.

    
por 27.05.2011 / 15:29