A quick note about setting runtime user config settings for Subversion.

First the background:
Lately I’ve been using TextMate (a really cool text editor) for my development work. TextMate likes to create backup files for each file I edit. It saves these files with a prefixed ._

For example, the UNIX filename backup of file.php is ._file.php

How does this affect subversion?
Everytime I issue a svn status command, it shows me a list of all files that have been modified, added, or deleted in the repository. It also shows a list of all files that are not versioned, including these hidden TextMate backup files.

Fortunately, there is a way to tell Subversion to ignore these files.

Every user has a .subversion in their home directory. In this folder is a config file where you can define a global-ignores parameter (set of regular expressions) which tells subversion to ignore these files. The config file already provides a default set of regex patterns. I simply added ._* to the list. Now those hidden TextMate files don’t show up in the svn status list.

You can also define regex patterns to ignore at a directory level. The command
svn propedit svn:ignore [dir]
opens a file where you can specify which files and patterns you want to ignore for that directory. This is useful in the datacat, for example, because I have a couple unversioned folders: docs, lter

By telling subversion to ignore these folders, I am further eliminating the noise from svn status.

About that propedit command: You need to have defined your editor-cmd in the config file, or pass it in as an argument: svn propedit svn:ignore [dir] --editor-cmd vi

I set my editor-cmd to vi in my config file.