Revision: 24676
Initial Code
Initial URL
Initial Description
Initial Title
Initial Tags
Initial Language
at March 8, 2010 10:27 by zachharkey
Initial Code
# The following structure exists:
#
# originalrepository/
# project_name/
# trunk/
# branches/
# tags/
#
# I want to move it to its *own* repository and give the following structure:
#
# newrepositoryname/
# trunk/
# branches/
# tags/
#
export LOCAL='file:/'
export SVN_DIR='/home/bluespark/svn'
export SVN_OLD_REPO='originalrepository'
export SVN_PROJ='project_name'
export SVN_REPO='newrepositoryname'
cd $SVN_DIR
## Create dumps
mkdir $SVN_DIR/dumps
svnadmin dump $SVN_OLD_REPO > dumps/$SVN_OLD_REPO.dump
## Filter the specific project_name out of the dump
svndumpfilter include $SVN_PROJ \
--drop-empty-revs \
--preserve-revprops \
--renumber-revs \
< dumps/$SVN_OLD_REPO.dump \
> dumps/$SVN_PROJ.dump
## Create the new repository...
## NOTE: You may need to do this step in the cpanel!!
## Here is how to do it on the comand line:
# svnadmin create $SVN_DIR/$SVN_REPO
## Load the new repository with the contents of the
## filtered dump file.
svnadmin load $SVN_REPO < dumps/$SVN_PROJ.dump
## Move the contens of the project_name to the repo root.
svn mv $LOCAL/$SVN_DIR/$SVN_REPO/$SVN_PROJ/branches \
$LOCAL/$SVN_DIR/$SVN_REPO/$SVN_PROJ/tags \
$LOCAL/$SVN_DIR/$SVN_REPO/$SVN_PROJ/trunk \
$LOCAL/$SVN_DIR/$SVN_REPO/ \
-m "moved $SVN_PROJ contents to root"
## Delete the old (empty) project directory.
## Note: you need to make sure the directory
## is really empty before deleting!
svn del $SVN_DIR/$SVN_REPO/$SVN_PROJ -m "removed old project directory"
Initial URL
http://snipt.net/jrguitar21/divide-and-conquer-svn-repo/
Initial Description
Initial Title
Divide and conquer svn repo
Initial Tags
Initial Language
XHTML