问题
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):
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:
[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]
Any suggestions?
回答1:
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.
Editing pre-commit.cmd found in the hooks subfolder and correcting the path fixed the problem.
来源:https://stackoverflow.com/questions/34157204/cannot-commit-to-svn-after-moving-subversion-edge-to-new-server