You are viewing a plain text version of this content. The canonical link for it is here.
Posted to users@subversion.apache.org by Robert Cole <ro...@silvaager.com> on 2007/07/26 19:25:02 UTC

Connecting Tortoise to Subversion/Apache on Linux.

I am having a problem getting Tortoise (which I have just downloaded the
latest version) to work with Subversion through Apache.

I have Subversion (1.4.0 (r21228)) running on SUSE-10 Unix with Apache 2.2;
both of which came in the SUSE distribution. These seem to be set up and
working as I can see the repository I created (using svnadmin on the server)
with Firefox from my PC and the served pages have a Subversion signature.

On my PC I can open the empty repository with the Repository Browser. But
when I try to import some files into the repository (either by drag n drop,
or by using the import item from a right click) I get the following error
message straight away:
Error	PROPFIND request failed on '/repos/courses'
Error	PROPFIND of '/repos/courses': 301 Moved Permanantly ( URL )

Having looked up similar errors in the mailing list archives and FAQ I have
made sure that:
1. The repository file area and the web server file area do not overlap. My
web root directory is /srv/www and root page is /srv/www/htdocs; all
standard. I have made the Subversion root to be /srv/svn.
I have aliased /repos to /srv/svn and to allow me multiple repositories made
the first repository /srv/svn/courses

2. I have made all the files and directories from /srv/svn downwards to be
the same owner and group as that which Apache runs under (wwwrun:www).

3. There are no proxies. Both computers are on the same LAN in my home.

There are no entries in the Apache error log.
There are no entries in a separate Subversion log.
The following entries are from the Apache access log

192.168.0.4 - - [21/Jun/2007:19:38:21 +0100] "PROPFIND /repos/courses
HTTP/1.1" 301 242 "-" "SVN/1.4.4 (r25188)neon/0.26.3"
192.168.0.4 - - [21/Jun/2007:19:41:09 +0100] "PROPFIND /repos/courses
HTTP/1.1" 301 242 "-" "SVN/1.4.4 (r25188)neon/0.26.3"
192.168.0.4 - - [21/Jun/2007:19:41:50 +0100] "PROPFIND /repos/courses
HTTP/1.1" 301 242 "-" "SVN/1.4.4 (r25188)neon/0.26.3"
192.168.0.4 - - [21/Jun/2007:19:53:36 +0100] "GET /repos/courses HTTP/1.1"
301 242 "-" "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-GB; rv:1.8.1.4)
Gecko/20070515 Firefox/2.0.0.4"
192.168.0.4 - - [21/Jun/2007:19:53:36 +0100] "GET /repos/courses/ HTTP/1.1"
200 218 "-" "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-GB; rv:1.8.1.4)
Gecko/20070515 Firefox/2.0.0.4"
192.168.0.4 - - [21/Jun/2007:19:53:48 +0100] "GET /repos/courses HTTP/1.1"
301 242 "-" "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-GB; rv:1.8.1.4)
Gecko/20070515 Firefox/2.0.0.4"
192.168.0.4 - - [21/Jun/2007:19:54:54 +0100] "PROPFIND /repos/courses
HTTP/1.1" 301 242 "-" "SVN/1.4.4 (r25188)neon/0.26.3"
192.168.0.4 - - [21/Jun/2007:19:55:50 +0100] "PROPFIND /repos/courses
HTTP/1.1" 301 242 "-" "SVN/1.4.4 (r25188)neon/0.26.3"
192.168.0.4 - - [21/Jun/2007:19:56:07 +0100] "PROPFIND /repos/courses
HTTP/1.1" 301 242 "-" "SVN/1.4.4 (r25188)neon/0.26.3"
192.168.0.4 - - [21/Jun/2007:20:17:41 +0100] "GET /repos/courses HTTP/1.1"
301 242 "-" "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-GB; rv:1.8.1.4)
Gecko/20070515 Firefox/2.0.0.4"

This shows access from my attempts to import (showing the PROPFIND 301
reply) and GET request from Firefox. But, note that whereas Firefox sees a
301 reply for /repos/courses it retries with /repos/courses/ and gets a good
reply (200). Tortoise just tries to access /repos/courses -- without the
trailing slash.

I have tried to tell Tortoise that the repository is at '/repos/courses/',
but it always asks for '/repos/courses'.

So how do I either:
1. set up Tortoise to use the trailing slash, or
2. set up Apache to ignore a missing trailing slash to access a directory?

For information, here is the details from the httpd.conf stuff I have for
subversion:
<IfModule mod_dav_svn.c>

#
# project related HTML files
#
<IfModule mod_alias.c>
Alias /repos    /srv/svn
</IfModule>
<Directory /srv/svn>
        Options         +Indexes +Multiviews -FollowSymLinks
        IndexOptions    FancyIndexing \
                        ScanHTMLTitles \
                        NameWidth=* \
                        DescriptionWidth=* \
                        SuppressLastModified \
                        SuppressSize

        order allow,deny
        allow from all
</Directory>



<Location /repos>
   DAV svn
   SVNListParentPath on
   SVNParentPath /srv/svn

   # Limit write permission to list of valid users.
#   <LimitExcept GET PROPFIND OPTIONS REPORT>
#      # Require SSL connection for password protection.
#      # SSLRequireSSL
#
#      AuthType Basic
#      AuthName "Version Control System"
#      AuthUserFile /etc/svn/svnpasswd
#      Require valid-user
#   </LimitExcept>
</Location>

CustomLog /var/log/apache2/svn_logfile "%t %u %{SVN-ACTION}e" env=SVN-ACTION

</IfModule>

Robert Cole  
  _____  
Silvaager
strategy & innovation 

E: robert (at) Silvaager (dot) com
M: 07789 175091
www.silvaager.com 




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

Re: Connecting Tortoise to Subversion/Apache on Linux.

Posted by Ryan Schmidt <su...@ryandesign.com>.
On Jul 27, 2007, at 05:24, Robert Cole wrote:

>>> 1. The repository file area and the web server file area do not  
>>> overlap. My
>>> web root directory is /srv/www and root page is /srv/www/htdocs; all
>>> standard. I have made the Subversion root to be /srv/svn.
>>> I have aliased /repos to /srv/svn and to allow me multiple  
>>> repositories made
>>> the first repository /srv/svn/courses
>>
>> [snip]
>>
>>> Alias /repos    /srv/svn
>>
>> Don't do this. This is effectively doing what the documentation says
>> not to do.
>>
>> Instead, you probably want to use "SVNParentPath /srv/svn"
>
> Thanks for this prompt feedback. I removed the Alias line from my  
> conf file
> and the Apache access now works.
>
> For the documentation: I found no reference in the back catalogue  
> of user
> group emails, or the FAQ, or the subversion book, or the Tortoise
> documentation that states don't use the Alias directive. (None say  
> do use it
> either from what I remember). What I did find was the explicit use  
> of this
> directive in the subversion.conf file that arrives in the
> /etc/apache2/conf.d directory when installing subversion on SUSE. I  
> based my
> Apache conf entirely on this sample file.

Perhaps you should send feedback to the SuSE folks so that they can  
fix their sample conf file.



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

RE: Connecting Tortoise to Subversion/Apache on Linux.

Posted by Robert Cole <ro...@silvaager.com>.

Ryan,
Thanks for this prompt feedback. I removed the Alias line from my conf file
and the Apache access now works.

For the documentation: I found no reference in the back catalogue of user
group emails, or the FAQ, or the subversion book, or the Tortoise
documentation that states don't use the Alias directive. (None say do use it
either from what I remember). What I did find was the explicit use of this
directive in the subversion.conf file that arrives in the
/etc/apache2/conf.d directory when installing subversion on SUSE. I based my
Apache conf entirely on this sample file.

Regards,
Robert

-----Original Message-----
From: Ryan Schmidt [mailto:subversion-2007b@ryandesign.com] 
Sent: 26 July 2007 21:49
To: robert@silvaager.com
Cc: users@subversion.tigris.org
Subject: Re: Connecting Tortoise to Subversion/Apache on Linux.


On Jul 26, 2007, at 14:25, Robert Cole wrote:

> 1. The repository file area and the web server file area do not  
> overlap. My
> web root directory is /srv/www and root page is /srv/www/htdocs; all
> standard. I have made the Subversion root to be /srv/svn.
> I have aliased /repos to /srv/svn and to allow me multiple  
> repositories made
> the first repository /srv/svn/courses

[snip]

> Alias /repos    /srv/svn

Don't do this. This is effectively doing what the documentation says  
not to do.

Instead, you probably want to use "SVNParentPath /srv/svn"




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

Re: Connecting Tortoise to Subversion/Apache on Linux.

Posted by Ryan Schmidt <su...@ryandesign.com>.
On Jul 26, 2007, at 14:25, Robert Cole wrote:

> 1. The repository file area and the web server file area do not  
> overlap. My
> web root directory is /srv/www and root page is /srv/www/htdocs; all
> standard. I have made the Subversion root to be /srv/svn.
> I have aliased /repos to /srv/svn and to allow me multiple  
> repositories made
> the first repository /srv/svn/courses

[snip]

> Alias /repos    /srv/svn

Don't do this. This is effectively doing what the documentation says  
not to do.

Instead, you probably want to use "SVNParentPath /srv/svn"

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

Re: Connecting Tortoise to Subversion/Apache on Linux.

Posted by Toby Thain <to...@smartgames.ca>.
On 26-Jul-07, at 4:25 PM, Robert Cole wrote:

> I am having a problem getting Tortoise (which I have just  
> downloaded the
> latest version) to work with Subversion through Apache.
> ...
> For information, here is the details from the httpd.conf stuff I  
> have for
> subversion:
> <IfModule mod_dav_svn.c>
>
> #
> # project related HTML files
> #
> <IfModule mod_alias.c>
> Alias /repos    /srv/svn


I don't think you want this.


> </IfModule>
> <Directory /srv/svn>
>         Options         +Indexes +Multiviews -FollowSymLinks
>         IndexOptions    FancyIndexing \
>                         ScanHTMLTitles \
>                         NameWidth=* \
>                         DescriptionWidth=* \
>                         SuppressLastModified \
>                         SuppressSize
>
>         order allow,deny
>         allow from all
> </Directory>

Or this. There should be no direct access to the directory via Apache.

--Toby

>
>
>
> <Location /repos>
>    DAV svn
>    SVNListParentPath on
>    SVNParentPath /srv/svn
>
>    # Limit write permission to list of valid users.
> #   <LimitExcept GET PROPFIND OPTIONS REPORT>
> #      # Require SSL connection for password protection.
> #      # SSLRequireSSL
> #
> #      AuthType Basic
> #      AuthName "Version Control System"
> #      AuthUserFile /etc/svn/svnpasswd
> #      Require valid-user
> #   </LimitExcept>
> </Location>
>
> CustomLog /var/log/apache2/svn_logfile "%t %u %{SVN-ACTION}e"  
> env=SVN-ACTION
>
> </IfModule>
>
> Robert Cole


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