blob: 20aa3ddef08ec6a5c9352bab48e41b26a60102fd [file] [log] [blame]
#!/bin/sh
# To get a gerrit1.dump:
# psql -c 'ALTER SCHEMA public RENAME TO gerrit1' $src
# pg_dump -O -Fc $src >gerrit1.dump
#
# Your config.sql should look like:
# UPDATE system_config
# SET
# site_path='/home/gerrit2/site_dir'
# ,git_base_path='/srv/git'
# ;
v1data="$1"
cfgsql="$2"
nobuild="$3"
if [ -z "$v1data" -o -z "$cfgsql" ]
then
echo >&2 "usage: $0 gerrit1.dump config.sql [-n]"
exit 1
fi
dstdb=reviewdb
user=gerrit2
gscfg=devdb/src/main/config/GerritServer.properties
if [ -z "$nobuild" ]
then
(cd appdist && mvn install) || exit
fi
out=$(cd appdist/target/gerrit-*-bin.dir/gerrit-* && pwd)
g2="$out/bin/gerrit2.sh --config=$gscfg"
dropdb $dstdb
createdb -E UTF-8 -O $user $dstdb || exit
pg_restore -O -d $dstdb $v1data || exit
$g2 CreateSchema || exit
psql -f devutil/import_gerrit1_a.sql $dstdb || exit
psql -f $cfgsql $dstdb || exit
$g2 ImportGerrit1 || exit
psql -f devutil/import_gerrit1_b.sql $dstdb || exit
echo >&2
echo >&2 "Creating secondary indexes..."
echo >&2 " ignore failures unless on a production system"
psql -f $out/sql/query_index.sql $dstdb
echo >&2
psql -c 'DROP SCHEMA gerrit1 CASCADE' $dstdb
psql -c 'VACUUM FULL VERBOSE ANALYZE' $dstdb
echo "CONVERT Gerrit 1 -> Gerrit 2 SUCCESSFUL"