/ Published in: XHTML
                    
                                        
                            
                                Expand |
                                Embed | Plain Text
                            
                        
                        Copy this code and paste it in your HTML
# 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"
URL: http://snipt.net/jrguitar21/divide-and-conquer-svn-repo/
Comments
 Subscribe to comments
                    Subscribe to comments
                
                