You are viewing a plain text version of this content. The canonical link for it is here.
Posted to users@subversion.apache.org by sv...@warrenfalk.com on 2003/08/13 19:04:18 UTC

Problem with PUT doing a dav-based commit

When trying to perform a commit, a forbidden error is returned on the PUT here is a log of what I am doing:

  $svn checkout http://www.warrenfalk.com/repository/warrenfalk.com
  Checked out revision 0.
  
  $echo "testfile" > warrenfalk.com/testfile.txt
  
  $svn add warrenfalk.com/testfile.txt
  A         warrenfalk.com/testfile.txt
  
  $svn commit warrenfalk.com -m "test file added"
  Adding         warrenfalk.com/testfile.txt
  Transmitting file data .svn: RA layer request failed
  svn: Commit failed (details follow):
  svn: PUT of /repository/warrenfalk.com/!svn/wrk/0ac7289d-cac4-0310-adac-d33d10546570/testfile.txt: 403 Forbidden (http://www.warrenfalk.com)

The error_log shows

client denied by server configuration: /data/projects/warrenfalk.com/webroot/repository

I have this inside my VirtualHost in httpd.conf:

<VirtualHost 66.161.158.50:80>
        DocumentRoot /data/projects/warrenfalk.com/webroot
        ServerName warrenfalk.com
        ServerAlias www.warrenfalk.com
        <Location /repository>
                DAV svn
                SVNParentPath /data/repository
        </Location>
</VirtualHost>

The "warrenfalk.com" repository is located in /data/repository/warrenfalk.com.  The webroot for this virtual host is located at /data/projects/warrenfalk.com/webroot.  So you'll notice that the error log shows that it is going to the webroot for the PUT.  I have to put this line inside my VirtualHost directive:

Alias /repository /data/repository

and then it works

But this seems wrong - shouldn't DAV be handling all requests to /repository/* and shouldn't svn then know (b/c of SVNParentPath directive) that the repository is located at /data/repository and not in a repository directory under my webroot?

I'm assuming the answer is No and that I should have known that, but I don't understand why it looks for the folder in the DocumentRoot when SVNParentPath already shows where it is.  If not, what is SVNParentPath good for if the Alias already shows where the repository is?  If that is correct it would have saved me a lot of time if the subversion book made some sort of mention of the fact that if your repository is not in the webroot, that you have to Alias it in addition to the SVNParentPath or SVNPath directives.

Am I way off base here?

---------------------------------------------------------------------
To unsubscribe, e-mail: users-unsubscribe@subversion.tigris.org
For additional commands, e-mail: users-help@subversion.tigris.org