paskvilwiki

up: version control

moving an SVN repo

last updated 2011-06

  • on the source machine:

    svnadmin dump /path/to/repo > repo.dump
    
  • transfer the file to the destination machine, then on the destination machine:

    cd /repos/path
    svnadmin create new-repo
    svnadmin load new-repo < repo.dump
    

note: if your repo is mature/large, you'll probably want to add compression along the way

note: if you have more than one repo on the source machine, all in the same folder (/repos/path), you can do:

  • on the source machine:

    cd /repos/path
    for i in `ls`; do svnadmin dump $i > $i.dump; done
    tar cfz dumps.tar.gz *.dump
    rm *.dump    # just to clean-up
    
  • transfer the dumps.tar.gz to the destination machine, then:

    mkdir /new/repos/path
    cd /new/repos/path
    tar xfz dumps.tar.gz
    for i in `ls *.dump`; do
        svnadmin create `basename $i .dump`;
        svnadmin load `basename $i .dump` < $i;
    done
    rm dumps.tar.gz *.dump    # just to clean-up