I had a problem at work, where somebody created a tag for a library, and then deleted a bunch of files I needed from that tag. When I updated my svn:externals definition in my application to pull in the new library version, those files went away. I tried to fix it in my application, by creating file externals for those files, pointing to a previous version, but placed into the same location they would have been had the person not deleted them.
I know it is not possible to create a file external from a different repository. But I expected this to work, because it is from the same repository, and the directory already exists. Is this limitation intentional, explained by this statement from http://svnbook.red-bean.com/en/1.7/svn.advanced.externals.html ? "While directory externals can place the external directory at any depth, and any missing intermediate directories will be created, file externals must be placed into a working copy that is already checked out."