Summary: "ErrorDocument 404 default" needs to be added to /etc/httpd/conf/httpd.conf to allow Subversion to work properly when a domain-wide 404 redirect is used.
Background: Subversion does not follow 301/302 HTTP redirects and uses PROPFIND results to determine the existence (or lack of existence) of files. Therefore, missing files in a repository need to return a 404 error for Subversion to work properly. If a domain-wide 404 error handler is set up to point to a user-friendly error handling page, then Apache returns a 302 redirect to the error handling page when a 404 error occurs. Assuming the friendly error page exists, it will then return a 200 to the end user. This 302 redirect causes confusion in Subversion and results in weird things happening at different times, mostly when it queries the the repository for files that exist on the filesystem that do not exist in the repository.
Solution: Add "ErrorDocument 404 default" to the Apache configuration for . This requires manual editing of /etc/httpd/conf/httpd.conf at this time. A permanent solution is to update /usr/libexec/webmin/virtualmin-svn/virtual_feature.pl to add "ErrorDocument 404 default" after the "DAV svn" line that gets added in the add_svn_directives function.
Operating system CentOS Linux 5.5 Virtualmin version 3.84.gpl GPL
Comments
Submitted by JamieCameron on Thu, 04/07/2011 - 15:55 Comment #1
Thanks for pointing this out - the next release of Virtualmin's SVN plugin will put :
ErrorDocument 404 default
in the
/svn
location block for new domains.Submitted by Issues on Thu, 04/21/2011 - 17:20 Comment #2
Automatically closed -- issue fixed for 2 weeks with no activity.