目前我们有多个项目的存储库。我正在对其进行重组,以便我们可以为每个项目提供一个 SVN 存储库。
我一直在成功地关注http://www.yolinux.com/TUTORIALS/SubversionRepositoryDataTransfer.html但遇到了问题。
在新的存储库中,我添加了我的主干、分支和标签目录。我他们试图将文件从根目录移到主干目录中。我能够成功添加这些文件夹。问题是当我尝试将文件移动到主干目录时。专门将文件添加到 ./trunk 级别似乎最失败:
Commit failed (details follow):
Could not open the requested SVN filesystem
Could not open the requested SVN filesystem
查看我的 apache 日志,我在错误文件中看到了这一点:
[Fri Aug 10 18:30:00 2012] [error] [client 173.0.0.1] (20014)Internal error: Can't open file '/var/www/vhosts/site.com/subdomains/repo/error_docs/format': No such file or directory
[Fri Aug 10 18:30:00 2012] [error] [client 173.0.0.1] Could not fetch resource information. [500, #0]
[Fri Aug 10 18:30:00 2012] [error] [client 173.0.0.1] Could not open the requested SVN filesystem [500, #2]
[Fri Aug 10 18:30:00 2012] [error] [client 173.0.0.1] Could not open the requested SVN filesystem [500, #2]
[Fri Aug 10 18:30:00 2012] [error] [client 173.0.0.1] (20014)Internal error: Can't open file '/var/www/vhosts/site.com/subdomains/repo/error_docs/format': No such file or directory
[Fri Aug 10 18:30:00 2012] [error] [client 173.0.0.1] Could not fetch resource information. [500, #0]
[Fri Aug 10 18:30:00 2012] [error] [client 173.0.0.1] Could not open the requested SVN filesystem [500, #2]
[Fri Aug 10 18:30:00 2012] [error] [client 173.0.0.1] Could not open the requested SVN filesystem [500, #2]
我不确定它为什么要在我的 error_docs 目录中寻找格式。该目录存在,但它没有任何命名格式。
我的 repo 的权限与工作功能 repo 相同。所以虽然它看起来像一个权限错误,但我看不到我的设置失败的地方
drwxr-xr-x 7 apache apache 4096 Aug 10 17:41 repo
drwxr-xr-x 2 apache apache 4096 Aug 10 17:41 conf
drwxr-xr-x 3 apache apache 4096 Aug 10 17:41 dav
drwxr-sr-x 6 apache apache 4096 Aug 10 19:05 db
-r--r--r-- 1 apache apache 2 Aug 10 17:41 format
drwxr-xr-x 2 apache apache 4096 Aug 10 17:41 hooks
drwxr-xr-x 2 apache apache 4096 Aug 10 17:41 locks
-rw-r--r-- 1 apache apache 229 Aug 10 17:41 README.txt
编辑 - 08/17,更多地探讨这个问题。目前的设置是:
/pickles.com/
/trunk
/branches
/tags
pickles.com/
/app
/config
etc...
我正在尝试使用 svn mv pickles.com/pickles.com/* pickles.com/trunk 将代码放在主干中。我在我的 apache 日志中收到与以下内容相同的错误:
==> access_log <==
120.0.0.1 - travisks [17/Aug/2012:12:40:40 -0400] "PROPFIND /pickles.com/pickles.com HTTP/1.1" 207 919 "-" "SVN/1.6.17 (r1128011) neon/0.28.6"
120.0.0.1 - travisks [17/Aug/2012:12:40:40 -0400] "PROPFIND /pickles.com/!svn/vcc/default HTTP/1.1" 207 606 "-" "SVN/1.6.17 (r1128011) neon/0.28.6"
120.0.0.1 - travisks [17/Aug/2012:12:40:40 -0400] "PROPFIND /pickles.com/!svn/bln/22 HTTP/1.1" 207 659 "-" "SVN/1.6.17 (r1128011) neon/0.28.6"
120.0.0.1 - travisks [17/Aug/2012:12:40:40 -0400] "PROPFIND /pickles.com/pickles.com HTTP/1.1" 207 919 "-" "SVN/1.6.17 (r1128011) neon/0.28.6"
120.0.0.1 - travisks [17/Aug/2012:12:40:41 -0400] "PROPFIND /pickles.com/!svn/vcc/default HTTP/1.1" 207 672 "-" "SVN/1.6.17 (r1128011) neon/0.28.6"
120.0.0.1 - travisks [17/Aug/2012:12:40:41 -0400] "PROPFIND /pickles.com/!svn/bc/22/pickles.com HTTP/1.1" 207 930 "-" "SVN/1.6.17 (r1128011) neon/0.28.6"
120.0.0.1 - travisks [17/Aug/2012:12:40:41 -0400] "PROPFIND /pickles.com/trunk/pickles.com HTTP/1.1" 500 430 "-" "SVN/1.6.17 (r1128011) neon/0.28.6"
==> error_log <==
[Fri Aug 17 12:40:41 2012] [error] [client 120.0.0.1] (20014)Internal error: Can't open file '/var/www/vhosts/publicsite.com/subdomains/svn/error_docs/format': No such file or directory
[Fri Aug 17 12:40:41 2012] [error] [client 120.0.0.1] Could not fetch resource information. [500, #0]
[Fri Aug 17 12:40:41 2012] [error] [client 120.0.0.1] Could not open the requested SVN filesystem [500, #2]
[Fri Aug 17 12:40:41 2012] [error] [client 120.0.0.1] Could not open the requested SVN filesystem [500, #2]
我的svn配置:
<location />
DAV svn
SVNParentPath /var/www/vhosts/publicsite.com/subdomains/svn
SVNListParentPath on
AuthType Basic
AuthName "svn.publicsite.com"
AuthUserFile /var/www/vhosts/publicsite.com/subdomains/svn/conf/passwd
Require valid-user
</location>
此相同配置适用于同一服务器上的另一个虚拟主机。所以我不希望成为问题。唯一的变化是 ParentPath 处于打开状态,这是一个存储库目录,而不是具有许多目录的单个存储库。
编辑 - Apache 将 SVN 重定向到 error_docs 目录
我更新了 conf 以充当单个存储库。
原本的:
SVNParentPath /var/www/vhosts/publicsite.com/subdomains/svn2
SVNListParentPath on
单一格式:
SVNPath /var/www/vhosts/publicsite.com/subdomains/svn2/pickles.com
一切都按预期运行。将其转回 SVNParentPath,我们又回到了同样的老问题。现在我知道它与 MediaTemple、Plesk 和子域设置有关。
回顾一下,我得到的错误是:
Internal error: Can't open file '/var/www/vhosts/publicsite.com/subdomains/svn2/error_docs/format
我在 error_docs 中创建了一个指向 ./subdomains/svn2/pickes.com/format 的符号链接,然后错误变为:
内部错误:打开数据库锁定文件时出错
这不是权限错误(在我显示的级别)。该项目与在单模式下工作的项目具有相同的权限集和用户。Apache 在某个地方默认使用 error_docs,因此 SVN 正在那里寻找它的目录,而不是 url 指定的存储库。
我检查了我找到的每个 httpd 文件,但找不到有关域应如何处理其子域的参考。