关于svn:为什么Subversion不允许提交.htaccess文件?

Why doesn't Subversion allow to commit .htaccess files?

我无法从Windows SVN客户端(TortoiseSVN)提交.htaccess文件。返回的错误是:

Could not read status line: Existing connection was forcibly closed by the remote host.

这基本上是我的虚拟主机在Apache中的样子:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
<VirtualHost *:80>
  DocumentRoot /var/www/mydomain.com/legacy/trunk/html
  ServerName mydomain.com

  <Directory /var/www/>
    FileETag MTime Size
    AllowOverride All
  </Directory>

  <Directory /var/www/tools>
    AllowOverride All
  </Directory>

  <Location /svn>
    DAV svn
    SVNPath /var/svn/repos/MyRepo

    # Limit write permission to list of valid users.
    # Require SSL connection for password protection.
    # SSLRequireSSL
    ErrorDocument 404 default

    AuthType Basic
    AuthName"Authorization Realm"
    AuthUserFile /etc/httpd/conf/.htpasswd
    Require valid-user
  </Location>
</VirtualHost>

如何更改此内容,以便可以提交.htaccess文件?


只需了解如何解决该问题-只需将其放入您的虚拟主机配置中即可覆盖全局http.conf:

1
2
3
4
5
<Files ~"^\\.ht">
    Order allow,deny
    Allow from all
    Satisfy All
</Files>

来源

这是肯定的正确答案(经过测试),但操作人员放弃了他的问题:/


Subversion是从还使用.htaccess进行访问控制的Apache服务器提供的,因此它可能会阻止您执行您不打算执行的操作。


1
2
3
4
5
<Files ~"^\\.ht">
    Order allow,deny
    Allow from all
    Satisfy All
</Files>

这对我也有用。稍微复杂一点,我是在plesk服务器上完成的。

将以上几行添加到在

中创建的我的vhost文件中之后

1
/var/www/vhosts/system/[your domain]/conf

我跑来重建conf文件

1
/usr/local/psa/admin/sbin/httpdmng  --reconfigure-domain [your domain]

这个Promise奏效了!

谢谢,希望这对使用plesk的人有所帮助


TortoiseSVN是否提交了其他文件?

如果提交是在与同一工作副本上的TortoiseSVN相同的框中的SVN客户端上进行的(您可以验证吗?),那么我的猜测将是导致问题的SVN和TortoiseSVN客户端版本不同。

TortoiseSVN -> About将报告生成SVN客户端版本的时间。检查您的客户端/服务器版本是否兼容。


检查其他apache配置文件。在我的默认/etc/apache2/modules.d/00_default_settings.conf(在gentoo安装中)中,我有一个FilesMatch"^.ht"部分,它执行Deny from all

我建议从/ etc / apache或/ etc / httpd或/ etc / apache目录中运行grep -r -i"\\\\.ht" *,以了解您的想法。

它也可能是AccessFileName指令,因此也要使用grep。


检查apache错误日志文件。您可能会看到有关svn服务器为何无法完成提交的其他信息。