Why do I get "already under version control" when I try to add a new file to a directory?

The directory you're trying to add already contains a.svn subdirectory, but it's from a different repository than the directory to which you're trying to add it.

This probably happened because you used your operating system's "copy" command to copy one working copy into the current one. The quick and dirty solution is to delete all .svn directories contained in the directory you're trying to add; this will let the add command complete. If you're using Unix, this command will delete.svn directories under dir: find dir -type d -name.svn -exec rm -rf {} \;. However, you should ask yourself why you made this copy, and you should ensure that by adding this directory, you won't be making an unwanted copy of it in your repository. Accessing non-public repositories via svnserve is also really slow sometimes.

This often happens when APR is compiled to use /dev/random and the server is unable to gather enough entropy. If Subversion is the only application using APR on the server, you can safely recompile APR with the --with-devrandom=/dev/urandom option passed to configure. This should not be done on systems that use APR for other processes, however, as it could make other services insecure.