Error Messages

This section contains a number of popular errors that people get and possible solutions to avoid or to work around the situation.


Can't copy / move 'XXX.svn-base' to 'XXX.tmp': The system cannot find the file specified.

This error message typically occurs when you try to update your working copy.

The reason for this error is either:

  • There are actually 2 different files in the repository whose names differ only in case. This cannot work on a Windows checkout, because the Windows file system is not case-sensitive. It is likely that one of the files got added by mistake, so you need to find out which one, make sure there are no changes committed to the wrong file, then delete it.
  • or

  • There is a file with an illegal (illegal on Windows) filename. For example names like "con", "lpr", "com", etc. are illegal on Windows because those are device names. And of course names with "/\*?:|" and some other special chars in them are also not possible on Windows (NTFS and FAT).

And yes, we know the error message isn't really helpful in this case. But the error message comes from the Subversion library, which we can't change on our own.

There are several ways to solve the problem and to prevent it from happening again. Take a look at these instructions.


Uppercase/lowercase file name conflicts on Windows

There is a server hook script available at: http://svn.collab.net/repos/svn/trunk/contrib/hook-scripts/ that will prevent checkins which result in case conflicts.

If you already have two files with a name that differs only in case, you have to decide which one of them you want to keep and delete (or rename) the other one from the repository.

There are (at least) two possible solutions to rename a file without losing its log history. It is important to rename it within subversion. Just renaming in the explorer will corrupt your working copy!!!

Solution A) (recommended)

  1. Commit the changes in your working copy.
  2. Rename the file from UPPERcase to upperCASE directly in the repository using the repository browser.
  3. Update your working copy.

Solution B)

  1. Rename from UPPERcase to UPPERcase_ with the rename command in the TortoiseSVN submenu.
  2. Commit the changes.
  3. Rename from UPPERcase_ to upperCASE.
  4. Commit the changes.

Can't open file 'XXX\nnn-n.txn\changes': The process cannot access the file because it is being used by another process

People who report this error often state that it happens randomly, and often part way through a large commit. Retrying the commit may succeed, or it may fail at a different point.

The most likely cause is a virus scanner holding a file handle open when it shouldn't. Try disabling the scanner, or get it to ignore your repository.

Similar errors can occur in your working copy. Try ignoring the .svn folder there.


Failed to add 'XXX': object of the same name already already exists

This error message typically occurs when you try to update your working copy. It is thrown because Subversion never deletes or overwrites existing local data. There may be three reasons why you get this error:

  1. You have a local unversioned file with the same name as a file which has been added by somebody else recently. In this case the solution is to move your local file somewhere else (or rename it), then update. Afterwards you can decide whether the two files need to be combined in some way, or if the choice of name is purely coincidental you can give your file a different name.
  2. A file has been renamed in the repository, but it differs only in case, like Install.txt to install.txt, and you have local changes. When you update, you end up in a situation (1), where the modified local file appears as unversioned. Move it somewhere else, update, then sort out the mess.
  3. There are actually 2 different files in the repository whose names differ only in case. This cannot work on a Windows checkout, because the Windows file system is not case-sensitive. It is likely that one of the files got added by mistake, so you need to find out which one, make sure there are no changes committed to the wrong file, then delete it.

There are several ways to solve the problem and to prevent it from happening again. Take a look at these instructions.


OPTIONS of '<path>': 401 Authorization Required <url>

When upgrading to version 1.4.x, you suddenly can't access your repository anymore. Every try is rejected with the error message:
OPTIONS of 'path': 401 Authorization Required 'url'

The reason for this is the automatic authentication with SSPI which is activated in version 1.4.x. That means TortoiseSVN now tries to authenticate automatically with the credentials of the user logged on to the Windows domain controller.

If you have set up your server to authenticate with SSPI against a domain controller, and the domain controller does not have the user account GUEST enabled, you should be fine. But if the user account GUEST is active, then all authentication succeeds with that user - and you usually won't give the user GUEST access to your repository. That's why the authentication succeeds, but the authorization fails.

Another reason why it can fail is if you have set up different accounts for the repository access than you use for logging in to your workstations (although then I wonder why you are using SSPI authentication in the first place).

To solve this issue you have the following options:

  • disable the GUEST account on the domain controller
  • use the same accounts for your workstations and access to the repository
  • disable SSPI authentication for the repository
  • Check the case of the usernames. Changing the usernames in the access files to lowercase also might solve this problem

This client is too old to work with working copy 'XXX'

The full error message is:
This client is too old to work with working copy '.'; please get a newer Subversion client.

You will get this error message once you have used a Subversion client linked with a higher Subversion version, and then try to execute a command with a Subversion client linked with an older version, e.g., you used an 1.4.x client on your working copy, and now you try an svn 1.3.x client on the same working copy.

The reason for this is that Subversion 1.4 and 1.5 upgrade the working copies transparently on every command. But once the working copy format is upgraded, older clients can't access the working copy anymore because they don't know the new format.

The only solution to 'fix' this is to upgrade whatever client you use and that gave you this error message.
Or do a fresh checkout with the older client.


Unknown hostname abc.net

After upgrading TSVN to 1.2.0 from 1.1.7, when I do an update I get "unknown
hostname abc.net". Uninstalled 1.2.0 and reinstalled 1.1.7 and all is well.

Some firewall programs detect program changes and silently disallow access to the network. In this case, fixing ZoneAlarm's settings for TSVN solved the problem.


Working copy is out-of-date

You will get this error message when you are trying to commit changes you made to your working copy. Normally this happens, because somebody else has changed the same file(s) in the repository as you have.

That means you need to use the Update command to update your working copy to the same level as the repository.

It may not be obvious why you need to do this, especially if you know the repository has not changed. The answer is simply that your working copy is not completely updated by a commit. Only changed files and folders get updated automatically. Consider this example on a newly created repository:

Add Folder in revision 1
Add File1 and File2 in revision 2
Modify File1 and commit in revision 3

Now the repository is at revision 3, but in your working copy the revisions look like this:

Folder       : revision 1
Folder/File1 : revision 3
Folder/File2 : revision 2

Now if you modify File2 and try to commit, it fails. The client tells the repository that File2 is at revision 2 with local modifications, but the repository is already at revision 3. If you then do an update, File2 will be at revision 3 as well (and of course your local changes will still be there).

The same thing may happen if you try to create a branch or tag. The answer is always the same:
If your working copy is out-of-date, update it!


Apache Error Messages

There are many error messages which can be thrown by apache when you try to access your repository. Most of these errors do not have anything to do with TortoiseSVN, but hint at some server misconfiguration. It is also possible that you have simply entered wrong repository URL.

To solve the configuration problems, the FAQ isn't quite the right place, because we need to know a lot more about your server setup. Please come to our mailing list at dev@tortoisesvn.tigris.org and ask your question there. Also, the Subversion mailing list users@subversion.tigris.org might be an even better idea for server configurations.

These error messages hint at configuraton problems:

  • '401 Authorization Required'
  • '500 Internal Server Error'

400 Bad Request

REPORT request failed on '...' REPORT of '...': 400 Bad Request (http://...)

You're behind a firewall which blocks DAV requests. Most firewalls do that.
Either ask your Administrator to change the firewall, or access the repository with https:// instead of http:// like in https://svn.collab.net/repos/svn/
That way you connect to the repository with SSL encryption, which firewalls can't interfere with (if they don't block the SSL port completely).


403 Forbidden

PROPFIND request failed: 403 Forbidden

It's probably because you've entered the parent path of your repository instead of the actual repository path. Try appending the name of the repository you wish to access to the URL. You also need to append the URL with a trailing '/' slash, after the repository name.

For more information about the actual error, seek out the Apache error log.


405 HTTP Method Not Allowed

PROPFIND Request Failed - Error 405 HTTP Method Not Allowed

This message comes in different flavours. You might be seeing this error when:

  • PROPFIND Request Failed
    You tried to browse the parent path of a repository instead of the repository itself using an older version of TortoiseSVN. Try appending the name of the repository you wish to access, or upgrade TortoiseSVN to 1.2.3 or newer.
  • PROPFIND Request Failed
    You forgot to append a '/' slash to the end of the URL you entered. Older versions of TSVN requires that there be a '/' after the repository name. If you forget this, TSVN will strip the repository name from the URL and therefore try to access the parent directory.
  • PROPFIND Request Failed
    You try to access the repository through a proxy which does not allow DAV requests. Usually you can browse your repository with your webbrowser just fine, only if you use an svn client you get this error. You have to configure your proxy/firewall server to let DAV requests through. Or try using https instead of http: most proxies can't analyze encrypted network packets and therefore can't block DAV requests anymore.

    Another possibility for this error is a virus scanner/firewall you have running on your machine. A lot of those filter out DAV requests without you even noticing it. Try disabling the scanner/firewalll.

  • Lock Request Failed
    You tried to lock a file in your working copy which no longer exists in the repository. Update your working copy before trying to lock files.

For more information about what actually caused the error, seek out the Apache error log.


501 Not implemented

The Apache 501 "Not Implemented" error is caused by a regression bug in the subversion 1.2.1 libraries. The "svn st -u" command of subversion 1.2.1 is incompatible with subversion 1.1.x servers. This normally happens when you "check for modifications" against old servers in TortoiseSVN.

TortoiseSVN can't do anything about this.

You can either:
- upgrade the server to subversion 1.2.1
- downgrade the client to 1.2.0 or earlier
- don't use the "check for modifications" dialog in TortoiseSVN against old servers.
- wait until the subversion team releases the 1.2.2 libraries.


Invalid command 'DAV'

Apache doesn't start after adding svn:

Apache throws an Exception that the requested operation failed. When starting the server from console you get an Error:
Invalid command 'DAV' perhaps mis-spelled or defined by a module not included in the server configuration
Solution: uncomment the line LoadModule dav_module modules/mod_dav.so in httpd too.


Where can I find the Apache error log?

If your server is Windows-based, typically in C:\\Program Files\\Apache Group\\Apache2\\logs.

If it's Un*x, try /var/log/httpd.

You will need to check the Apache error log yourself when you receive errors from eg. the Repo-Browser that looks like this: 'PROPFIND: Request failed - HTTP xxx'. The Apache error log contains a message describing the cause for these errors. The real error messages are unfortunately not propagated to Subversion clients like TortoiseSVN.


SVN+SSH Error Messages


File not found

Go to the Network tab on TortoiseSVN's settings dialog. Set the SSH Client to TortoisePlink.exe.


No repository found in 'svn+ssh://myuser@ 100.101.102.103/ usr/local/repo'

Check the path to your repository (here /usr/local/repo) if it really exists on the server and check the permissions on that folder and its contents.


Unable to write to Standard output

TortoisePlink uses the standard plink code, but is compiled as a Windowless app, so there's nowhere to send the error messages to. In TSVN settings->network, set the SSH client box to use standard plink, where the error messages are displayed in a command box. Once that is working, use TortoisePlink with the same parameters.

"could not write to standard output" means that Plink wanted to throw an error, but since TortoisePlink doesn't provide a DOS-box there's no standard output to write the error message to.

So something with the setup is wrong. Try with the normal plink program and see there what error message really is thrown and then fix the setup.

If normal plink just hangs, then the wrong params are passed to it (settings dialog, network tab).

Another possibility is that the SSH daemon is most likey not able to find the svnserve binary. Login with your target user (here myuser) into the server and type "which svnserve". If you dont see the path to the binary, make this file (and most likely the other subversion binaries) globally accessible to this user.