I am using rsync to synch my local filesystem with the server. As described in the linked article this is quite comfortable – and fast.
Introducing Subversion (advanced)
This weekend I (re-)installed Subversion to put more of my harddisk’s content under version control. I’ve used Subversion (together with TortoiseSVN) during writing my diploma-thesis. I’ve versioned not only code but mainly text. Since I’ve written my thesis with DocBook, the text consisted of XML-files which can be version-controlled nicely.
Reading Tip 23
Always Use Source Code Control (even if it is not source code) in ThePragmaticProgrammer I decided to give Subversion another, broader try.
Subversion basically allows to ways to access a repository: Either via file:// or via http://. For the latter apache must be installed. I decided for the latter and updated my apache-installation. That went quite smooth.
I downloaded the lates version of TortoiseSVN (TSVN) – a GUI-client for subversion, implemented as a shell extension for Windows Explorer. This didn’t work out very well. The TSVN-entries do not show up in the context menu. Most likely I misbehavied uninstalling the previous installation via secure-mode-console (because of bound DLLs)!?
So currently I am using Subversion via its CLI which works out quite nicely, BTW. I’ve noticed that the explorer-icon-overlays that TSVN installs do work. Strange. The now even work in TotalCommander the alternative to explorer I use. Nifty.
rsyncing subversion-controlled directories
Subversion adds a
.svn-directory to all directories under VersionControl. Since I don’t want those .svn-directories on my webserver I had to tell rsync to ignore (‘exclude’ in rsync-speak) those directories. Not so easy.
.svn/ to my exclude-file did not have the intended effect. I tried
--cvs-exclude which is supposed to support svn, too. Nope.
.svn/* to my exclude-file did the trick.