2007-04-27

Subversion: cannnot replace a directory from within

I tried to use TortoiseSVN to merge a particular revision of a particular file from one branch into another.  I received the message "cannot replace a directory from within".  I tried the same thing using the SVN command line tools, same result.  The problem was that I was using a command like this:

svn merge -r3023:3055 svn://myrepository/trunk/blah/blah/Blah.java c:\myworkingcopy

The solution was to specify the target filename directly:

svn merge -r3023:3055 svn://myrepository/trunk/blah/blah/Blah.java c:\myworkingcopy\blah\blah\Blah.java

You can do this from within TortoiseSVN by invoking the 'merge' command by right-clicking directly on the file in question instead of at the root of the working copy.