【发布时间】:2015-12-08 13:30:38
【问题描述】:
我可以结帐、浏览历史记录等...但是当我尝试使用 Tortoise SVN 提交任何更改时,我收到一个错误:
提交失败(详情如下):
提交被 pre-commit 钩子(退出代码 255)阻止并输出:
系统找不到指定的路径。
如果您想解除锁定,请使用“检查修改”对话框或存储库浏览器。
这是在我们设置新服务器并从旧服务器复制存储库数据之后发生的。服务器上的错误日志包含:
[2015 年 12 月 8 日星期二 13:23:29.696220] [dav:error] [pid 9044:tid 920] [client 192.168.16.150:59995] 无法合并资源“/svn/Phil/!svn/txn/2501 -1w2" 转换为 "/svn/Phil"。 [500, #0]
[Tue Dec 08 13:23:29.696220 2015] [dav:error] [pid 9044:tid 920] [client 192.168.16.150:59995] 提交被预提交挂钩(退出代码 255)阻止,输出为:\ n系统找不到指定的路径。\r\n [500, #165001]
[2015 年 12 月 8 日星期二 13:23:29.789973] [dav:error] [pid 9044:tid 920] [client 192.168.16.150:59997] 无法获取资源信息。 [404, #0]
[2015 年 12 月 8 日星期二 13:23:29.789973] [dav:error] [pid 9044:tid 920] [client 192.168.16.150:59997] 命名事务不存在。 [404, #175002]
有什么建议吗?
【问题讨论】:
-
你的存储库中有一个预提交钩子,它似乎在搜索一个不再存在的文件?
-
检查过 svn 是否对您定义的存储库目录具有写入/读取权限?同样通过第二个错误日志(提到预提交挂钩),检查挂钩是否可执行。通过钩子输出,您的 svn 尝试读取的路径似乎存在一些冲突信息。第 3 和第 4 个错误日志相同。
-
我设法找到了编辑预提交挂钩的选项,似乎 CSVN 的路径在那里被硬编码。当我安装软件时,我把它放在 C:\Program Files\CSVN 而不是 C:\CSVN,所以我认为这是导致问题的原因。
-
不幸的是,它不允许我编辑钩子脚本:“钩子编辑器默认禁用。有权访问文件系统的人可以在 security.properties 中使用 hook.script.editor.enabled 启用此功能=true 然后重新启动应用程序。”我需要在哪里添加这个命令?
-
我设法使用记事本编辑了 pre-commit.cmd 文件。似乎已经解决了问题。
标签: svn tortoisesvn subversion-edge