Como armazenar git repos de projetos abandonados?

5

Eu tenho mais de 200 projetos na minha estação de trabalho, cada um é um repositório git. A maioria deles é substituída ou abandonada. Eu ainda mantenho o código no caso de precisar de alguma coisa deles.

Atualmente, os projetos ativos são repositórios git não-nus em ~/Projects , os projetos inativos são .tar.gz archives que simplesmente contêm todo o repositório git não-nu dentro da mesma pasta. Então eu peguei o seguinte:

  • ~/Projects/some-active/.git
  • ~/Projects/some-inactive.tar.gz

A vantagem disso é que backups são realmente rápidos, projetos inativos são apenas um único arquivo que deve ser verificado / copiado. Sempre que eu quero olhar para os projetos, eu tenho que extrair a pasta, olhar para ela e comprimir isso algum tempo depois, quando eu acho que o projeto está inativo novamente.

Existe uma maneira melhor para isso?

    
por Martin Ueding 28.09.2014 / 14:30

1 resposta

5

Primeira sugestão: Apenas mantenha-os da mesma forma que os repositórios ativos, exceto para garantir que todos os objetos estejam em um único arquivo de pacote ( git gc fará isso). O rsync apenas verifica os tempos de modificação; ele não lê o arquivo inteiro se todo o resto corresponder; não deve ser lento. (Meu backup consiste em rsyncing sobre arquivos de 1M, muitos dos quais são repositórios Git, e ainda é aceitavelmente rápido ...)

Segunda sugestão: mantenha-os como repositórios nus . Sempre que você quiser ver os arquivos, use o modo de "árvore de navegação" de tig ou clone para / tmp (por exemplo, git clone -s ~/Projects/foo.git /tmp/foo ). Desta forma, cada repo terá apenas cerca de 5 arquivos (packfile, pack index, config, packed-refs).

    
por 28.09.2014 / 15:20

Tags