SVK is a distributed version control system written by Chia-liang Kao. The tool allows you to mirror existing remote repositories, create branches on your machine, work on these branches locally, and when you are ready, merge them back into your mirrored trunk, which transparently updates the remote repository.
SETTING UP YOUR LOCAL 'DEPOTMAP'
svk depotmap --init
MIRRORNIG YOUR REPOSITORY
svk mirror http://my.svn.server/my-project //my-project
LIST YOUR CURRENT MIRRORS
svk mirror --list
CREATING A LOCAL BRANCH
svk cp -m "Create local branch for new feature" //my-project/trunk //my-project/new-feature
CHECKING OUT OUR DEVELOPMENT BRANCH
svk co //my-project/new-feature
KEEPING YOUR MIRROR CURRENT
svk sync //my-project/trunk
BRING CHANGES FROM ANOTHER REPOSITORY
svk pull
KEEPING YOUR LOCAL BRANCH CURRENT
svk smerge -C //my-project/trunk //my-project/new-feature
svk smerge -l //my-project/trunk //my-project/new-feature
MOVE CHANGES INTO ANOTHER REPOSITORY
svk puch
UPDATING YOUR WORKING COPY
svk up
REMOVE "CONFLICTED" STATE ON WORKING COPY FILES OR DIRECTORIES
svk resolved
UNDO ALL LOCAL EDITS
svn revert filename
If you want to revert a whole directory of files, use the --recursive flag:
svk revert --recursive .
PRINT THE STATUS OF WORKING COPY FILES AND DIRECTORIES
svk status