There are different ways to generate mirrors of subversion repositories like
svnadmin dump
, svnadmin hotcopy
or svk
but you need
more privileges to do it or will not create a "perfect" copy. Since subversion
1.4 exists a new alternative svnsync. It is really easy to create a private
mirror with only some steps (you should check user in pre-revprop-change before
make it public accessible).
REPO_TITLE="batman"
REPO_URL="https://dev.open-mesh.org/svn/batman/"
svnadmin create "${REPO_TITLE}"
cat > "${REPO_TITLE}"/hooks/pre-revprop-change << 'EOF'
#! /bin/sh
exit 0
EOF
chmod +x "${REPO_TITLE}"/hooks/pre-revprop-change
svnsync init "file://`pwd`/${REPO_TITLE}" "${REPO_URL}"
A good idea is to check the UUID of the master repository by using svn
info "${REPO_URL}"
and change it with
svnadmin setuuid "${REPO_TITLE}" 45894c77-fb22-0410-b583-ff6e7d5dbf6c
.
You should do your syncs regularly (for example with cron) with
svnsync sync "file://`pwd`/${REPO_TITLE}"