问题
I just installed SubGit and test it. When one of svn user commited a file, he got the following error message:
Commit failed (details follow): 'pre-commit' hook failed with error output:
SubGit ERROR REPORT (SubGit version 1.0.2 ('Miai') build #1764):
You've received this message because SubGit (http://subgit.com/) is installed in your repository and an error that needs to be dealt with has occured in SubGit translation engine.
UNRECOVERABLE ERROR: svn: Cannot rename file 'F:\svn\testsubgit\db\node-origins\0.tmp' to 'F:\svn\testsubgit\db\node-origins\0'
CURRENT STATE: Subversion: READ ONLY Git : READ AND WRITE
TO RECOVER: Follow Error Recovery procedure described at http://subgit.com/book/#recovery
TO REPORT: 1) Get error log from the server at 'F:\svn\testsubgit\subgit\subgit-sync-20121108-180124.zip'
2) Report an issue at http://issues.tmatesoft.com/
Is there any way to solve it? Or do I need to change some setting of SubGit?
回答1:
I'm SubGit developer and would be glad to help you to resolve this issue. First, please send SubGit logs from 'F:\svn\testsubgit\subgit\subgit-sync-20121108-180124.zip to support@subgit.com
Also, please provide more details on your environment, in particular:
a) where your Subversion repositories are (could it be network drive)? b) do you use Apache server (http protocol) to access Subversion repositories? c) do you use the same service (Apache) to access Git repositories?
First thing to check are users (accounts) on whose behalf Subversion and Git services run. In case these are different users (e.g. System Administrator and Network Service), then there might be a permissions problem - files created by one services would become unavailable for another. When you run "subgit configure" and "subgit install" also make sure these commands are ran on behalf of the same user that runs Apache server (or another service).
In case you're using network drive to store Subversion repositories on, then network drive configuration might be the reason of the problem and I would advise you to move your repositories to the ordinary drive on the server.
Also, some software antiviral installed on the server might potentially interfer with SubGit - try disabling it.
To recover from this error follow instructions at http://subgit.com/book/#recovery - the most easy way would be to run "subgit install --rebuild repos" - but this way you may loose some of the commits on the Git side.
来源:https://stackoverflow.com/questions/13287190/subgit-error-when-svn-users-commit