将Subversion Edge移至新服务器后无法提交SVN [英] Cannot commit to SVN after moving Subversion Edge to new server
问题描述
我可以签出,浏览历史记录等...但是当我尝试使用Tortoise SVN提交任何更改时,我得到一个错误:
I can checkout, browse history etc... but when I try to commit any changes using Tortoise SVN I get an error:
提交失败(详细信息如下):
Commit failed (details follow):
提交被输出前的预提交挂钩(退出代码255)阻止:
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.
这是在我们设置新服务器并从旧服务器复制存储库数据之后发生的.服务器上的错误日志包含:
This is happening after we set-up a new server and copied the repository data over from the old server. The error log on the server contains:
[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] Could not MERGE resource "/svn/Phil/!svn/txn/2501-1w2" into "/svn/Phil". [500, #0]
[2015年12月8日星期二13:23:29.696220] [dav:error] [pid 9044:tid 920] [client 192.168.16.150:59995]使用输出前的预提交钩子(退出代码255)阻止了提交: n系统找不到指定的路径.\ r \ n [500,#165001]
[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]
[2015年12月8日星期二13:23:29.789973] [dav:error] [pid 9044:tid 920] [client 192.168.16.150:59997]无法获取资源信息. [404,#0]
[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]
[2015年12月8日星期二13:23:29.789973] [dav:错误] [pid 9044:tid 920] [客户端192.168.16.150:59997]命名交易不存在. [404,#175002]
[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]
有什么建议吗?
推荐答案
事实证明,这是因为新服务器上的软件安装在与原始服务器上不同的文件夹中,并且该文件夹的名称为hard-编码到存储库中的预提交挂钩脚本中.
This turned out to be because the software on the new server was installed into a different folder than it was on the original server, and the folder name was hard-coded into the pre-commit hook script in the repository.
编辑在hooks子文件夹中找到的pre-commit.cmd并更正路径即可解决此问题.
Editing pre-commit.cmd found in the hooks subfolder and correcting the path fixed the problem.
这篇关于将Subversion Edge移至新服务器后无法提交SVN的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!