views:

100

answers:

5

Hello, I setup the basic Win32 CollabNet SVN Server 1.6.5-6 with all the default settings and Apache running on port 9999 . Also, I installed TortoiseSVN . Everything works fine with Tortoise and also with Eclipse as long as I use a FILE url such as: file:///C:/SVNRepository/ .

If I point Internet Exploder at http://localhost:9999 it gives me a http text message that says "It works!". When I try to connect with the url http://localhost:9999/svn the browser shows me the 4 root directories of C:\SVNRepository but they are not browseable directories. Pointing the browser to svn://localhost:9999/svn causes the browser to open Tortoise, which in turn locks up explorer.exe for 5 minutes until it times out.

What is wrong?


After deliberations, the answer turned out to be:

<Location /svn>
  DAV svn
  #SVNParentPath C:/NotUsed
  SVNPath "C:/SVNRepository"
  SVNListParentPath On
  #Require valid-user
  #AuthType Digest
  AuthName "SVNRepository"
  #AuthUserFile "C:/Subversion Server/httpd/conf/svnauthfile"
</Location>
A: 

I've never used SVN with apache but shouldn't it be

http://localhost:9999

If accessing it through apache? I could see specifying the svn protocol might confuse tortoise when it tries to connect.

Also trying "telnet localhost 9999" to test the port is listening.

HTH.

Mike Q
yes, netstat shows the port is listening. also, the url http://localhost:9999 shows the message "it's working" in the web browser.
djangofan
the svn:// url didn't confuse explorer.exe . what happens is that it uses the file association in the system to open TortoiseSVN with that same url. Tortoise locks up though and cant open the url anyway (see my original description).
djangofan
+1  A: 

If you're trying to access your SVN repository via an Apache server, you should be using the URL specifying the http protocol: http://localhost:9999/something. The svn protocol is for use with the standalone svn server. The something part will depend on how Apache is configured (whatever Apache is expecting to map to the directory C:\SVNRepository).

Stephen C. Steel
i tried that. that was the obvious thing to try, which is why i started thinking svn:// was the correct way to go.
djangofan
A: 

Thats hard to tell, but most obviously there is something wrong with the apache configuration. For more precise answers you should post your concrete setup steps.

But besides installing all on your own, you should take a look on VisulaSVN Server. This is quite handy in a Windows environment (which you seem to work with). Its a complete SVN server and easy to configure via a simple GUI.

Frank Bollack
i did the standard apache install that comes with the installer and i accepted all defaults except i used port 9999 instead of 80.
djangofan
+1  A: 

subversion URLs starting with svn:// use subversions own protocol that is handled by svnserve. If you are using apache you're using the mod_dav_svn module for apache if configured correctly. When using apache for serving an svn repository you can also access the repository via any browser -- just type the URL in the browser and you'll see a rather simple representation of the file list. This is a really useful way to see if the repository is actually served. All URLs served via apache use the http protocol or its SSL variant https. As with any webserver, if you're using a non-standard port you need to specify it with the URL.

bluebrother
+1  A: 

That you get a not found error when trying to open the repository in a web browser suggests that the url is wrong. From reading the readme for opencollab svn server it seems that the recommended url-prefix for repositories is /svn, so if you followed those recommendations your "CodeRoot" would be http://localhost:9999/svn/CodeRoot.

You should be able to confirm if that is the case by looking at the httpd.conf of apache, at the bottom of the file you should find something like

<Location /_url prefix here_>
   DAV svn
   #SVNParentPath C:\repositories
   SVNPath C:\repositories
</Location>

If you have only one repository and want to be able to access it through localhost/svn you should use SVNPath instead of SVNParentPath and point it to the full path of the repository. If you instead want multiple repositories to be available under /svn use SVNParentPath instead and point it at the directory containing all the svn repositories.

Zareth
Ok, you were right about one thing. I had the SVNParentPath configured incorrectly and also without quotes around it. I updated my original bug description. Thanks for the help but I am still not getting it to work.
djangofan
It sounds like you should be using SVNPath instead of SVNParentPath in your configuration.
Zareth
Ahhh!!! That was it! Thanks! You get the points.
djangofan
For a guy who had only 21 points before this answer, you kicked ass helping me out. Thanks. :-)
djangofan
you should edit your answer to reflect the correct answer. that means changing SVNParentPath to SVNPath and also comment out AuthUserFile, AuthType, and Require .
djangofan