Bootstrapping SVK Repositories
If you have a large Subversion repository you are making available to the public, and everyone decides to use SVK to mirror the entire repository, your sysadmins will be very unhappy with you. Mirroring a repository is an expensive operation both in CPU and bandwith costs.
A solution to this is to create a bootstrap file that your users can download and install into their local svk installations. Then they pull any changes from that point forward.
To create a bootstrap file...
1. Create your own svk mirror of the repository you wish to copy:
svk depotmap project-bootstrap ~/.svk/project-bootstrap svk mirror /project-bootstrap/mirror http://url/to/your/svn/repo svk sync /project-bootstrap/mirror
2. Create a svn dumpfile of your repository.
svnadmin dump --deltas ~/.svk/project-bootstrap > project-bootstrap.dump
3. Edit the dumpfile to remove the 'UUID' line. (This should be the second or third line of the file.) This step is optional, but it helps prevent issues later.
4. Compress the dumpfile (bzip2 tends to work quite nicely) and place it where your users can easily get to it.
To update your bootstrap file, just run
svk sync /project-bootstrap/mirror
and return to step 2 above. graco quattro]
Your users can setup their local repository like this...
1. download the dumpfile
2. create a svk repository
svk depotmap project ~/.svk/project
3. load the dumpfile into the repository
bzcat project-bootstrap.dump.bz2 | svnadmin load --ignore-uuid ~/.svk/project
--ignore-uuid is very important, otherwise merge tracking will get very screwed up.
4. sync the mirror to the latest revision
svk sync /project/mirror
5. use svk as normal.