70
votes

I'm trying to set up my first repository on my host and am getting this error when I use TortoiseSVN to checkout the project:

Error: OPTIONS of 'http://mywebsite.com/svn/myproject': 200 OK (http://mywebsite.com)

Here is what I did:

  1. Ssh into my host and head to /home/myaccnt and 'svnadmin create svn'

  2. Create my project repository: 'svn mkdir svn/myproject'

  3. Add files to the repository: cd /home/myaccnt/.../myproject (which has /tags, /branch, /trunk); 'svn import file:///home/myaccnt/svn/myproject' (the big old list of files being added is seen at this point.)
    At this point I think that I've setup my repository and imported my project into the repository. So, I'm ready to checkout using TortoiseSVN on my Windows box. So:

  4. In the folder I'd like to checkout to, I right click and SVN Checkout, and then make sure my URL is: http://mywebsite.com/svn/myproject

Result?

Error: OPTIONS of 'http://mywebsite.com/svn/myproject': 200 OK (http://mywebsite.com)

Anyone have any thoughts for me? I'm likely missing something fundamental with the structure of my repository or htaccess... or something.

14

14 Answers

82
votes

I had to dig into this issue too and found the following pages which lead me to the solution: - http://comments.gmane.org/gmane.comp.version-control.subversion.devel/117844 (See especially the link to "Julian's patch".)

There is stated that the "OPTIONS of <url>: 200 (<url>) OK" error is quite misleading and often just means that the repository URL is wrong.

10
votes

I had a similar problem with a simple "svn list" command.

To extend Vitor Mateus' answer regarding slashes: While setting up my own repository using Apache on an in-house server, my original Location tag in the Apache 2 configuration file looked like:

<Location "/svn/repo_address/">
    ...
</Location>

Where there was a trailing "/" after "repo_address". There should not be a slash there:

<Location "/svn/repo_address">
    ...
</Location>

Something subtle, but it makes a huge difference. Now a call to

svn list http://my.server.com/svn/repo_address

works fine. Sometimes it helps to read the manual carefully ;-)

3
votes

Apparently, this is more a restriction issue by my host, and I am working with them to resolve it.

Thanks, 1800.

BTW, the answer here was that my host, A2 Web Hosting, requires that SVN be handled via SSH using a public_key and configuring, in my case, TortoiseSVN to do the job. It was sort of funky for someone who has just a little experience setting up keys, but it was pretty satisfying once it was done!

You can find information about SVN on the A2 host in their support wiki.

3
votes

I just had this problem. My Subversion server was on a non-standard port. So effectively my repository URL was wrong. Just something else to check...

3
votes

For me, the error was on the server side, and it was because I forgot to uncomment

DAV svn

in the configuration file /etc/apache2/mods-enabled/dav_svn.conf (on Debian).

2
votes

If you change the checkout address from http://mywebsite.com/svn/myproject to svn://mywebsite.com/svn/myproject, does it start working? If so, maybe you didn't set up the HTTP protocol for SVN access?

1
votes

This error is completely generic and just means it couldn't communicate with the SVN server. Use your browser to look at the URL and see what's really being served. It should be a plain black and white page that says Powered by Subversion in the footer. That should help you figure out what the problem is.

In my case the requests were not ending up at the DAV module because I'm using ProxyPass.

1
votes

For me it was definitely an authentication issue.

Normally when I attempt to checkout a new project, I am asked if I want to accept the certificate (permanently, temporary, or not at all).

I must have clicked not at all previously, so it wouldn't prompt me again.

Using the TortoiseSVN client I went into Settings, then Saved Data and cleared my Authentication data (button Clear).

Then when I attempted a checkout, it prompted me to accept the certificate. I did Permanently and all was good. It checked out all my code.

0
votes

A modification of the first response worked for me.

My repository uses SSH. The URL was given to me as https:// (for HTTPS access) and I eventually figured out that the protocol on the URL needed to be changed.

Using the command-line client: $ svn checkout svn+ssh:///svnroot//

(No key configuration was needed.)

0
votes

Another reason for getting this error (among the many above) is having a proxy set in ~/.subversion/servers when you don't need a proxy to get to the server you are trying to connect to.

0
votes

Try to put / on the end of URL. Change the checkout address from "http://mywebsite.com/svn/myproject" to "http://mywebsite.com/svn/myproject/".

0
votes

I ran into this error while connecting to an open source repository from my Ubuntu x-term.

The solution that worked was modifing /etc/subversion/servers file. I modified the proxy settings in the global section and now: All is well.

0
votes

Make sure SVNPath is set correctly in the Apache configuration!

0
votes

I had a different problem (and a solution). I do not understand why it happens, but since some of the repository DID checkout, I tried to checkout various content independently.

I've found that only a JAR file in the root folder was not checked out and attempting to check it out caused the error. Since the file was a duplicate file of a same JAR file, which was in the "target" folder, I just deleted it from the repository via repo-browser (TortoiseSVN) and checked out the project via NetBeans again - finally it finished without the error.