Corrupção do repositório SVN - svnrepo/db/corrente
- 4035
- 97
- Spencer Emard
Recentemente, um dos repositórios no meu servidor SVN foi corrompido. Após a verificação, descobrimos que havia um problema com o arquivo svnrepo/db/atual foi corrompido devido a setores ruins no meu hardisk. Eu tentei fazer o checkout deste repositório, mas falhei.
Como recuperar o repositório SVN corrompido -
Antes de iniciar a recuperação, devemos saber sobre este arquivo. Este arquivo contém o número de revisão mais recente do seu repositório. Em cada compromisso, o servidor SVN aumenta esse valor em +1 e mantenha isso na última revisão.
Agora, se você se lembra da versão do seu repositório, basta recriar novo arquivo e colocar esse número neste arquivo. Mas se você não se lembra, então o problema começa, mas não se preocupe. Siga as etapas abaixo para encontrar o número da revisão.
Insira qualquer número -
Digite um número e tente mantê -lo mais alto do que o esperado pela última revisão. No meu caso, coloquei 99999 em db/arquivo atual.
[Email Protected]: ~ $ CAT DB/atual 99999
Repositório de backup -
Agora use o seguinte comando para fazer backup deste repositório. Quando você executa o seguinte comando, ele pode terminar com erros como abaixo.
[Email Protected]: ~ $ svnadmin dump/path/to/repo>/backup/myrepo.despejo * revisão despejada 0. * Revisão despejada 1… * Revisão despejada 576. * Revisão despejada 577. * Revisão despejada 578. svnadmin: e160006: Nenhuma revisão 579
Conforme sua produção, conseguimos que nosso repositório tenha 578 revisões. Você pode simplesmente colocar esse valor no seu arquivo de banco de dados/atual. Mas se houver mais arquivos corrompidos, continue a seguir as etapas.
Repositório de backup novamente -
Agora temos o último número de revisão, então especifique as revisões de 0 para a última revisão para backup.
[Email Protected]: ~ $ svnadmin dump -r 0: 578/path/to/repo>/backup/myrepo.jogar fora
Recrie o novo repositório -
Agora remova o antigo repositório corrompido e crie um novo com o mesmo nome ou outro nome.
[Email Protected]: ~ $ MV/PATH/TO/repo/backup/[Email Protected]: ~ $ svnadmin create/path/to/repo
Repositório de carga do backup -
Agora carregue dados do repositório do arquivo de backup usando o seguinte comando.
[Email protegido]: ~ $ svnadmin load/path/to/repo < /backup/myrepo.dump
- « Cliente authz_coreerror negado pela configuração do servidor
- Ubuntu 15.10 (lobisomem wily) lançado »