2015-12-08 45 views
1

我可以检出后,浏览历史等...但是当我尝试使用乌龟SVN提交任何修改我得到一个错误:无法提交到SVN移动颠覆边缘到新的服务器

Commit failed (details follow):

Commit blocked by pre-commit hook (exit code 255) with output:

The system cannot find the path specified.

If you want to break the lock, use the 'Check For Modifications' dialog or the repository browser.

这是发生在我们建立一个新的服务器并从旧服务器复制存储库数据之后。服务器上的错误日志包含:

[Tue Dec 08 13:23:29.696220 2015] [dav:error] [pid 9044:tid 920] [client 192.168.16.150:59995] Could not MERGE resource "/svn/Phil/!svn/txn/2501-1w2" into "/svn/Phil". [500, #0]

[Tue Dec 08 13:23:29.696220 2015] [dav:error] [pid 9044:tid 920] [client 192.168.16.150:59995] Commit blocked by pre-commit hook (exit code 255) with output:\nThe system cannot find the path specified.\r\n [500, #165001]

[Tue Dec 08 13:23:29.789973 2015] [dav:error] [pid 9044:tid 920] [client 192.168.16.150:59997] Could not fetch resource information. [404, #0]

[Tue Dec 08 13:23:29.789973 2015] [dav:error] [pid 9044:tid 920] [client 192.168.16.150:59997] Named transaction doesn't exist. [404, #175002]

有什么建议吗?

+1

你的仓库中有一个预先提交的钩子,它似乎在搜索一个不存在的文件? –

+1

检查svn是否具有写入/读取权限到您定义的存储库目录中?另外通过第二个错误日志(提到pre-commit钩子),检查钩子是否可执行。通过钩子输出,看起来你的svn试图读取的路径有一些矛盾的信息。第三和第四个错误日志也一样。 –

+0

我设法找到编辑预提交钩子的选项,看起来CSVN的路径在那里是硬编码的。当我安装软件时,我把它放在C:\ Program Files \ CSVN而不是C:\ CSVN中,所以我认为这是导致问题的原因。 –

回答

1

原来,这是因为新服务器上的软件安装在与原始服务器上不同的文件夹中,并且文件夹名称被硬编码到存储库中的预提交挂钩脚本中。

编辑hooks子文件夹中发现的pre-commit.cmd并更正解决问题的路径。