SVK, the SVN without the .svn

posted 09:00PM Jul 23, 2006 with tags keynote macosx opensource pages subversion svk tips by Lars Trieloff

Rich Bowen reports his problems with Keynote (Apple's presentation program) deleting his .svn directories (which are created and neccessary for the Subversion version control system and contained in all versioned directories to store metadata, repository information, temporary files and pristine copies of files). Keynote stores all documents as directories containing gzipped XML documents, thumbnails and so on, but it does not store or keep .svn directories. This problem is shared by the companion program Pages, which is an excellent word processor, but does not respect other people's .svn directories, too.

Because of this reason, and due to a certain degree of geekness that was not fulfilled by the more and more popular version control system Subversion (short SVN) which I use for all my project for more than two years, I switched to SVK, a distributed version control system built on top of SVN and written in Perl.

There are several nice things about SVK, e.g.

  • It allows to commit, even if you are offline
  • It has support for better branching and merging
  • it does not need .svn, .svk or any other meta-data directories
This last fact makes it the ideal choice for the geek who needs to share Keynote presentations or Pages documents using Subversion. It works by storing a directory-to-repository table in your home directory and a full or partial copy of the repository, which is an elegant, but unintuitive solution. Unfortunately there are some characteristics about SVK that make it not as easy to use as Subversion:
  • There are no graphical user interfaces available, so you should be familiar with the command line environment
  • Documentation in sparse and sometimes outdated
  • You have to sync your local repository ocassionally to the remote repository which means typing two additional commands
So Rich, if you would like to use your existing remote Subversion repository with Pages or Keynote, you should take a look at SVK.