Como migrar um repositório do subversion

2

Eu tenho 2 configurações de subversão Debian em servidores separados, e a decisão foi tomada para desligar um dos servidores. Mas antes de fazer isso, eu quero mover todos os repositórios no servidor para o outro servidor (incluindo todas as revisões históricas, etc).

Como isso é feito?

Posso simplesmente copiar o conteúdo de / var / lib / svn / repo-name para / var / lib / svn / repo-name no outro servidor? Ou há mais do que isso?

também eu preciso fazer alguma coisa sobre permissões / propriedade?

    
por Brent 23.06.2009 / 15:02

3 respostas

11

Você só deve copiar os arquivos se o ambiente SVN for idêntico, se não:

  1. Use svnadmin na máquina da qual você está migrando para criar um arquivo de despejo:
    svnadmin dump myrepos > dumpfile
    
  2. Crie novos repositórios no seu servidor restante
  3. Carregue seus arquivos de despejo em:
    svnadmin load newrepos < dumpfile
  4. Copie quaisquer personalizações e / ou scripts de gancho em todo o servidor antigo.
  5. Se o URL foi alterado na troca, alterne todas as cópias em funcionamento com:% pr_e %

Isso tudo é do Livro do SVN .

    
por 23.06.2009 / 15:15
1

É melhor fazer um despejo do repositório antigo e carregar o novo. Essa é a maneira mais limpa e mais "suportada" de migrar um repositório para outro. Você pode tentar copiar os arquivos, mas se você não está se movendo para a mesma versão do Subversion na mesma arquitetura de processador (sim - se você estiver usando o BerkeleyDB você pode rodar em problemas de endian ... viu isso em um Alfa à migração de Intel SVN uma vez) você poderia ter problemas.

Dê uma olhada no link , na seção intitulada "Migrando um repositório".

(Um amigo meu fez isso uma vez sobre o netcat entre duas caixas quando não tínhamos espaço temporário suficiente para armazenar uma cópia do arquivo de despejo! Funcionou também ...)

    
por 23.06.2009 / 15:09
0

Há mais de uma maneira de fazer isso:

  1. Pare o servidor svn do que apenas copie o conteúdo dos diretórios.
  2. svnadmin dump PATH_TO_REPOS e depois no servidor de destino #svnadmin carregar PATH_TO_MIRROR

    Observe que o svnadmin dump não despeja seus arquivos de configuração do repositório e os scripts de gancho.
por 23.06.2009 / 15:13

Tags