:: ::Purpose: Provides the ability to store versions (as branches) within the repository, as :: well as the latest and previous versions of the application as tags ::Parameters: %1 = Project Name :: %2 = Version Number @ECHO OFF ECHO. ::If necessary, display usage messages if "%1"=="" goto UsageDesc1 if "%2"=="" goto UsageDesc2 if "%3"=="" goto UsageDesc3 ::Copy trunk to new branch ECHO Deleting branch %2 if it already exists... svn delete -m "Deleting branch in case it already exists" svn://%3/%1/branches/%2 ECHO Done deleting branch. ECHO Copying trunk to /branches/%2... svn copy svn://%3/%1/trunk svn://%3/%1/branches/%2 -m "Copied trunk to branch version" ECHO Done copying trunk to /branches/%2. ::Copy /tags/latest into /tags/rollback ECHO Deleting /tags/rollback... svn delete -m "Deleting rollback" svn://%3/%1/tags/rollback ECHO Done deleting /tags/rollback. ECHO Copying /tags/latest/ to /tags/rollback/... svn copy svn://%3/%1/tags/latest svn://%3/%1/tags/rollback -m "Copied old latest to rollback" ECHO Done copying /tags/latest/ to /tags/rollback/. ::Copy recently added branch to /tags/latest ECHO Deleting /tags/latest/... svn delete -m "Deleting latest" svn://%3/%1/tags/latest ECHO Done deleting /tags/latest/. ECHO Copying /branches/%2 to /tags/latest/... svn copy svn://%3/%1/branches/%2 svn://%3/%1/tags/latest -m "Copied trunk to branch" ECHO Done copying /branches/%2 to /tags/latest/. GOTO SUCCESS :UsageDesc1 ECHO Please enter a valid Project Name (Parameter 1) :UsageDesc2 ECHO Please enter a valid Version Number (Parameter 2) :UsageDesc2 ECHO Please enter a valid Server Name (Parameter 3) GOTO END :SUCCESS ECHO Backup was successful. GOTO END :END ECHO. PAUSE ::