]> git.llucax.com Git - mecon/scripts.git/blob - subversion/scripts/load.sh
Se agregan scripts para mantenimiento de repositorios.
[mecon/scripts.git] / subversion / scripts / load.sh
1 #!/bin/sh
2
3 echo "$0 - Recupera repositorios desde un 'dump'."
4 if [ -z "$1" ]; then
5         echo 'Falta argumento. Uso:'
6         echo "  $0 repos"
7         echo 'Donde repos es el nombre del repositorio o "-a" si quiere recuperar todos.'
8         exit
9 fi
10
11 ##### Si pasan -a procesa todos los repositorios del directorio actual ######
12
13 if [ "a$1" == "a-a" ]; then
14         for repos in *; do
15                 bz2bak="$repos.dump.bz2"
16                 if [ -d "$repos" ] && [ -r "$bz2bak" ]; then
17                         $0 "$repos"
18                 fi
19         done
20         exit
21 fi
22
23 ################### Procesa un repositorio en particular ####################
24
25 repos="$1"
26 repold="$repos.old"
27 bz2bak="$repos.dump.bz2"
28
29 echo "Haciendo backup del repositorio '$repos' en '$repold'..."
30 mv "$repos" "$repold"
31 echo "Creando nuevo repositorio '$repos'..."
32 svnadmin create "$repos"
33 echo "Cargando informaciĆ³n desde '$bz2bak' en '$repos'..."
34 bzcat $bz2bak | svnadmin load "$repos"
35
36 ./fixperm.sh -a
37
38 # Se fija si hay hooks para migrar
39 hooks=''
40 for f in intranet.old/hooks/*; do
41         if [ `echo $f | grep -v .tmpl` ]; then
42                 hooks="$hooks $f"
43         fi
44 done
45 if [ "$hooks" ]; then
46         echo 'Probablemente necesite migrar los siguientes hooks del repositorio:'
47         echo "$hooks"
48 fi
49