svnhome update

Update to my svnhome article:

I've changed how I handle my dotfiles a bit. I wrote a program dircombine that "merges" two or more subversion directories into a single common directory (just by adding/removing symlinks as appropriate). So with this I can easily split my dotfiles out into modules and inclue some modules on only some machines.

Now my home directory in svn has no actual files in it; all the dotfiles are moved to these modules, and other directories are also pulled in via externals. This makes it easy to maintain more variants of the home directory without needing to merge dotfiles between them like I had to before.

Another unexpected benefit is that since all the dotfiles that are managed by svn are symlinks, any that arn't symlinks are clearly not managed by svn, and so are easy to clean up as cruft or add to svn.

Only real downsides of this approach are needing to move dotfiles to the appropriate subdirectory before adding them to svn, and svn commit not recursing into dotfile subdirectories.

Oh, and it gives me an excuse to have a directory named "home-etc".

discussion