You're not currently signed in.

Subversion (svn) aims to take over the CVS user base, while svk

attempts to take over the others - including people who already

switched to other scm, and people who had not started using scm. It is

written in Perl and is using Subversion's underlying filesystem.

A quick glance about svk for people already familiar with Subversion:

  • svk uses the subversion fs library. the SVN::XD module is a svn_wc (working copy) replacement (XD is character increment of WC).
  • SVN::XD does not use the .svn for checkout meta-data. it uses Data::Hierarchy for storing per-directory meta-data in a compact way. Read about WhyXD.
  • svk uses svm (svn mirror) for retrieving remote repositories (via ra) to a certain point of the local repository. There are plans to integrate svm and vcp so we have instant ability to branch remote cvs or perforce.
  • the depot spec is like : /<depotname>/<path>. ~/.svk/config holds a depotmap hash for mapping depotname (which could be empty) to a path containing a subversion repository.
  • when committing (or merging) into the mirrored directory, svm provides a commit editor for svk to use. the merge brings changes from local to remote repository if there's no conflict.
  • using a local repository holding the subversion tree for benchmark, svk checkout time is 3 times faster than svn.

Read on about SVKUsage.