Repository Upgrade

From SubversionWiki
Jump to: navigation, search

I have used the following batch files to upgrade over 800 repositories this morning.
And then someone gave me another challenge. Spaces....
Here's the updated script. Note it uses commands added in WindowsXP PushD and PopD as well as some of the formatting options used to navigate repositories


-- Upgrade.bat -----------------------------------------

@echo off
IF NOT %3=="" goto DoIt

cls
echo Upgrade existing Subversion repositories
echo .
echo Command line syntax:
echo Upgrade Source_Directory Working_Directory Target_Directory
echo .
echo Source Directory - Where the repositories exist now
echo Working Directory - Where the dump files should be placed
echo Target Directory - Where the newly formatted files will be placed
echo .
echo NOTE: The upgrade_repos.bat file is, by default, using the default 
echo       arguments for svnadmin create.
echo       If you want to use anything else, change the file before running.
goto exit

:DoIt
pushd "%1"

::call the actual upgrade batch file
for /D %%I in (*.) do call D:\Scripts\upgrade_repos.bat "%%~nI" %1 %2 %3

::copy the master files - Files in the SVNParent
xcopy "%1\*.*" "%3\" /y

popd

:Exit





-- Upgrade_Repos.bat -----------------------------------

echo Migrating %1
echo ...Creating Repository
echo %~4\%~1
svnadmin create "%~4\%~1"
echo ...Dumping
svnadmin dump -q "%~2\%~1" > "%~3\%~1.dmp"
echo ...Loading
svnadmin load -q "%~4\%~1" < "%~3\%1.dmp"
echo ...Copying hooks
xcopy "%~2\%~1\hooks\*.*" "%~4\%~1\hooks" /y /d
echo *******************************************************************