SVN copying

ChrisDolan on 2008-09-03T06:12:53

I've had to learn this twice over the last 2 years, so I'm going to document it here for eternity. :-)

I have a Subversion repository and I want to split off a piece of it (one subdir) into a new repository on another server.

ssh my-old-server
  svnadmin dump repositories/myproject | svndumpfilter include subproject \
      | bzip2 -9 > subproject_at_rev_4753.bz2
  scp subproject_at_rev_4753.bz2 my-new-server:.
ssh my-new-server
  svnadmin create repos/newproject
  bzcat subproject_at_rev_4753.bz2 | svnadmin load repos/newproject


I don't use the --drop-empty-revs option on svndumpfilter because that seems to confuse svnmerge.py (I'm using SVN 1.4 still, not 1.5 yet).

Then in existing workspaces, I do:
  svn switch --relocate http://my-old-server/myproject/subproject \
      http://my-new-server/newproject/subproject