SVK

May 9th, 2005

I brought my laptop on this mountain biking trip because this seemed like the perfect opportunity to take SVK for a real test drive. How geek is that? I’m using SVK to get over one of the problems that had me a little puzzled about version control – on open source projects, like KDE, non developers sometimes like to help test (or just be on the bleeding edge) by running the latest CVS/SVN version, so it makes sense for developers to at least try to keep the repository code reasonably solid. But how do developers use version control while developing unstable codefor their applications? The obvious solution is to use a second, non-public repository and merge changes into the main repository when things are reasonably stable, but these merges seem like a real pain. I guess you could do the same sort of thing with branches, but that doesn’t seem like the right sort of use of them to me.

SVK is a pretty elegant solution for doing exactly that – it mirrors repositories on your local machine, allowing you to work locally, without a connection to the main repository, commit changes and generally mess about until you’re happy and then merge the changes back into the main repository using a single commit (and an auto message generated from your local commit messages). I’m no expert at version control (and I may be missing major stuff here…), but this seems like a really nice way to do this. Of course, the real test will be how well things work when I get back and merge the changes I’ve made tonight back into the main Subversion repository! I won’t be telling the designer/project manager at work about SVK, it adds a extra level of complexity to version control that he’s just getting to grips with now (after some prodding ;)).

Here is a very good three part SVK tutorial that desperately needs turned into a one part affair!

1 Response to “SVK”

  1. Ron Bieber Says:

    I’ve added a page to my site that puts together all of the tutorial link in order

    http://www.bieberlabs.com/wordpress/svk-tutorials/

    Thanks for the feedback. I really need to merge these sometime!

Leave a Reply