This page describes what svk could do for Subversion users.
importing vendor branch
As described in the svnbook, you can use svn_load_dirs.pl to load a directory to a vendor branch. However it's rather slow on large tree. You can use svk to do the vendor import to your local Subversion repository.
- install svk
- run
svk depotmapand replace the path~/.svk/localwith the path of your Subversion repository. - run
svk import //project/vendor /path/to/project-0.01 - /project/vendor of your repository now has /path/to/project-0.01 loaded.
Current limitations:
- svk import will not auto-prop for you.
- svk import will not ask you about file renames.
- svk import will not make the tag for you, which is just a cp after import.
- svk does not support svn:externals - for the svk equivalent try 'svk help view', but
according to IRC and the mailinglist this does not (yet) work with svn:externals, though there is a detailed proposal and a workaround. Please correct me if I'm wrong! --ThomasNichols
converting cvs / perforce repositories
svk lets you do incremental conversion from cvs / perforce repositories. The resulting repository is accessible by subversion. see MirrorVCP for usage.
working without working copies
If you want to revert a change in the large tree, svk could do it without requiring checking out first:
svk merge -rN:M //project/trunk //project/trunk
restoring working copies
If you deleted half of your svn working copy but still had the ".svn" directory, you could just run "svn update" and it restores your working copy. in svk you need to do "svk revert -R". i think you need to be carefull here to not revert your uncommitted changes. (comment from darix: this can be very dangerous actually, maybe this was the rationale why it was put into "svn update").