More Tips on Subversion

April 30, 2013 Vishwajyoti Bhattacharjee

In my last post I had shared a few tips on subversion addressing issues that I felt were challenging. To add to that list I would like to share a few more. One of the most common issues that I had encountered (while working with subversion and TortoiseSVN) is that the working copies stop displaying the shell overlays (icons), and sometimes a few icons may appear and the other icons might not. The Windows explorer sometimes ignores refresh notifications. The reason behind such behavior is too many application notifications that can jam TortoiseSVN. So to avoid this, the explorer sometimes ignores the notifications and that’s why the icons don’t get displayed. The solution is available in the following link:

Read up on: Why don’t the icon overlays appear?
The overlay icons appear, but not all of them!

My next tip is on how to delete a file or folder and its entire history from Subversion. Well, unlike with Git History there is no straight forward way to achieve this, as Subversion is not meant for that. You can however do this with the help of your Subversion Admin. This is how you can proceed:

svnadmin dump /path/to/repository >repo.dmp

svndumpfilter exclude /file_or_directory_to_exclude <repo.dmp >cleaned_repo.dmp

rename /path/to/repository to something else

svnadmin create /path/to/repository

svnadmin load /path/to/repository < cleaned_repo.dmp

Here is another useful tip:

Say you want to know the last changed revision or the last modified date of some particular file that you checked out from within the file itself; you can use subversion keyword substitution:

When to use SVN URL redirect –

Query: We have migrated our SVN repositories from one host “abc” to another host “xyz” , but we want all existing URLs (having ) redirected to new host as without breaking developer’s bookmarks and doing svn relocate in all the working copies.

Solution: You just need to use Apache’s Rewrite-related directives in the server’s httpd.conf.

See for the details of mod_rewrite’s configuration.

As a starting point, you might use something like this:

# permanently redirects all requests aimed at Subversion repositories
# to the matching relative location on
RedirectMatch ^/svn/(.*)$$1

Subversion 1.7+ clients will automatically redirect any working copies checked out from the next time the user performs and ‘svn update’. Older clients will print an error that instructs the user to do this relocation themselves.

Previous Article
StandUp? Or StandAround?
StandUp? Or StandAround?

StandUp is a cornerstone of any agile practice.  It runs like a well-oiled machine at most agile shops. You...

Next Article
Agile Culture: One More Secret to Building it
Agile Culture: One More Secret to Building it

I recently read the excellent and fascinating book “The Power of Habit” by Charles Duhigg. The book doesn’t...