Como atualizar o sistema de arquivos de subversão v2 para v3 FSFS

9

Primeiramente, estou tentando reintegrar uma ramificação com o tronco (usando o TortoiseSVN), mas estou recebendo a mensagem de erro "Consultar informações de mesclagem requer a versão 3 do esquema do sistema de arquivos FSFS; sistema de arquivos E: / MyRepository / usa apenas a versão 2" .

Realmente não foi possível reintegrar ramificações em versões anteriores do subversion? Ou há outra maneira de fazer isso?

De qualquer forma, como posso atualizar o sistema de arquivos da versão 2 para a versão 3?

    
por cbp 02.12.2010 / 03:55

3 respostas

6

Você não especificou a versão do Subversion que seu servidor está executando. Mas com base na mensagem que você forneceu na pergunta, é provavelmente uma versão 1.4.x ou mais antiga. Não me lembro se havia um comando de upgrade fornecido ou não para conversão de 1.4.x para 1.5.x, mas a maneira segura de obter o seu repositório da versão 2 para a versão é para um dump e load. Mas isso não importa muito, você vai querer instalar o 1.6.x de qualquer maneira para ir com o mais recente. Então, aqui estão os passos que você precisa fazer:

  • Atualize para o Subversion 1.6.x se ainda não tiver
  • Descarregue seu repositório existente usando o svnadmin dump
  • Crie um novo repositório, chame-o _new
  • Carregue seu novo repositório com o despejo do antigo usando svnadmin load
  • Copie o arquivo uuid do repositório antigo para o novo repositório
  • renomeie o repositório antigo para _old
  • renomeie o novo repositório para

Veja também o link do Subversion para obter um exemplo concreto.

Isso deve ajudá-lo e o arquivo uuid evitará que seus clientes entrem em pânico. Faça um svn update para ter certeza.

    
por 02.12.2010 / 17:29
8

Dump / load não é necessário para atualizar os repositórios do Subversion. Use o comando svnadmin upgrade:

svnadmin upgrade <path-to-repos>

NOTA: svnadmin upgrade "realiza apenas a quantidade mínima de trabalho necessária para conseguir isso, mantendo a integridade do repositório. Enquanto um despejo e carga subsequente garantem o estado de repositório mais otimizado, o upgrade do svnadmin não." - veja também documentação de atualização do svnadmin

    
por 18.11.2011 / 09:10
5

Ivan tem uma boa dica que funciona, eu tentei e é muito simples.

svnadmin upgrade <path-to-repos>

Uma coisa que eu perdi em Ivans exemplo que pode ser útil para os outros são:

Ex.

<path-to-repos> = C:\repos\theRepo
(ie. NOT C:\repos\theRepo\db)

Não aponte o svnadmin para o diretório db, mas o diretório que contém o db diretório.

    
por 19.01.2012 / 17:57

Tags