当用户尝试使用预提交挂钩提交到repo时,会收到此错误。预提交钩子检查用户是否应该能够提交,以及使用svnlook.exe
和--transaction
是否正确格式化了提交消息。日志显示以下内容:
[Mon Dec 05 08:35:06.073768 2016] [dav:error] [pid 4780:tid 816] [client xx.x.xxx.xxx:xxxxx]
Could not MERGE resource "/svn/SOME_REPO/!svn/txn/499-ei" into "/svn/SOME_REPO/trunk/ RESTRICTED/SomeFolder/AnotherFolder". [500, #0]
[Mon Dec 05 08:35:06.074768 2016] [dav:error] [pid 4780:tid 816] [client xx.x.xxx.xxx:xxxxx]
An error occurred while committing the transaction. [500, #720005]
[Mon Dec 05 08:35:06.074768 2016] [dav:error] [pid 4780:tid 816] [client xx.x.xxx.xxx:xxxxx] Can't set position pointer in file
'\\\\zzzvnxnas01.zzz.com\\zzz\\Projects\\ZZZZ1SVSUBVML1\\CSVN\\Repositories\\SOME_REPO\\db\\txn-protorevs\\499-ei.rev': Access is denied. [500, #720005]
我目前无法访问服务器,因此我需要根据我所拥有的零碎进行诊断。在CollabNet SubversionEdge上,Subversion在Apache~2.4上运行~1.8。
我的猜测是svnlook
导致服务没有足够权限的问题,因为当删除预提交挂钩时,用户报告没有错误。此外,该服务是否可能过载?
我的理论唯一的问题是开发服务器上没有问题... :D
否则,我认为这可能与普遍损坏的用户有关。需要svn cleanup
的文件,不兼容的程序版本之间的交互,反病毒,生产服务器上的用户负载或某些网络权限问题。
任何人都有这方面的经验吗?
感谢。
答案 0 :(得分:0)
svnlook
似乎没有任何关系。
错误显示"访问被拒绝":
Can't set position pointer in file
'\\\\zzzvnxnas01.zzz.com\\zzz\\Projects\\ZZZZ1SVSUBVML1\\CSVN\\Repositories\\SOME_REPO\\db\\txn-protorevs\\499-ei.rev': Access is denied.
运行服务器的帐户对存储库没有足够的权限。防病毒也可能是根本原因,因为它可能会阻止写入操作。