Como fazer backup e restaurar todo o código fonte no SVN?
Pergunta
Agora eu estou usando o Windows XP. Se eu apenas copiar a pasta inteira repositório no SVN visual, uma vez que o servidor está em baixo, como posso restaurá-lo através da pasta do repositório backuped? outra solução melhor para backup e restauração em svn visual?
aliás, qualquer método para backup e restauração no controle de origem visual?
Solução
Você só pode copiar o diretório inteiro dentro e para fora. Files é arquivos, não há nada mágico sobre eles.
Se você quiser fazer algo mais complicado, como editar o conteúdo do repositório de alguma forma antes de restaurar, então você precisa de descarregar e carregar.
Outras dicas
svnadmin dump /path/to/repository | bzip2 -9c > svn-backup.bz2
O passo de compressão é opcional, é claro.
A principal vantagem deste sobre o "copiar a árvore" método recomendado em outra resposta é que o Subversion formato "dump" é um formato de arquivo melhor do que a maioria dos formatos de banco de dados usados ??pelo Subversion sob o capô em seu repositório. (É uma troca de velocidade vs. simplicidade.) Você pode ler um arquivo de despejo em um editor de texto, analisá-lo com facilidade, e - mais importante -. Importá-lo para um repositório Subversion diferente usando um banco de dados back-end diferente
Restaurar o arquivo acima com:
bzip2 -dc svn-backup.bz2 | svnadmin load /path/to/repository
Isto é o que eu uso:
#!/bin/bash
mkdir /tmp/backup_svn
for dir in /var/www/svn/*/
do
dir=${dir%*/}
svnadmin dump "${dir}" > "/tmp/backup_svn/${dir##*/}.dmp"
echo "--- Dump ${dir##*/} done!"
done
Para restaurar o despejo você precisa criar de repo pasta antes:
svnadmin create /var/www/svn/test
E eles:
svnadmin load /var/www/svn/test/ < /tmp/backup_svn/test.dmp
Este método irá restaurar todas as revisões / tags / branches em seu repositório.
Você deve usar svnadmin hotcopy para criar um backup do seu repositório.