google code svn 使用经验之谈

     由于之前的项目被误破坏了,还好在google code 中有备份。于是重新 从 google code check out ,一切正常。

但是修改代码在commit的时候,报错如下:

org.tigris.subversion.svnclientadapter.SVNClientException: org.tigris.subversion.javahl.ClientException: RA layer request failed
svn: Commit failed (details follow):
svn: Server sent unexpected return value (405 Method Not Allowed) in response to MKACTIVITY request for '/svn/!svn/act/dc439298-e699-e043-95bf-9e6894578721'

at org.tigris.subversion.svnclientadapter.javahl.AbstractJhlClientAdapter.commit(AbstractJhlClientAdapter.java:325)
at org.tigris.subversion.subclipse.core.commands.CheckinResourcesCommand$1.run(CheckinResourcesCommand.java:118)
at org.tigris.subversion.subclipse.core.SVNProviderPlugin$5.run(SVNProviderPlugin.java:469)
at org.eclipse.core.internal.resources.Workspace.run(Workspace.java:2344)
at org.eclipse.core.internal.resources.Workspace.run(Workspace.java:2326)
at org.tigris.subversion.subclipse.core.SVNProviderPlugin.run(SVNProviderPlugin.java:464)
at org.tigris.subversion.subclipse.core.commands.CheckinResourcesCommand.run(CheckinResourcesCommand.java:94)
at org.tigris.subversion.subclipse.core.SVNTeamProvider.checkin(SVNTeamProvider.java:139)
at org.tigris.subversion.subclipse.ui.operations.CommitOperation.execute(CommitOperation.java:124)
at org.tigris.subversion.subclipse.ui.operations.SVNOperation.run(SVNOperation.java:90)
at org.eclipse.team.internal.ui.actions.JobRunnableContext.run(JobRunnableContext.java:144)
at org.eclipse.team.internal.ui.actions.JobRunnableContext$ResourceJob.runInWorkspace(JobRunnableContext.java:72)
at org.eclipse.core.internal.resources.InternalWorkspaceJob.run(InternalWorkspaceJob.java:38)
at org.eclipse.core.internal.jobs.Worker.run(Worker.java:54)
Caused by: org.tigris.subversion.javahl.ClientException: RA layer request failed
svn: Commit failed (details follow):
svn: Server sent unexpected return value (405 Method Not Allowed) in response to MKACTIVITY request for '/svn/!svn/act/dc439298-e699-e043-95bf-9e6894578721'

at org.tigris.subversion.javahl.SVNClient.commit(Native Method)
at org.tigris.subversion.javahl.SVNClient.commit(SVNClient.java:524)
at org.tigris.subversion.svnclientadapter.javahl.AbstractJhlClientAdapter.commit(AbstractJhlClientAdapter.java:319)
... 13 more

当时就纠结了,从没遇到过。什么都不说google,这个问题的答案各说纷纭。主要总结,大家提到的解决方案有:

1、服务器地址变更 。(扯淡)

2、删除C:\Users\User\AppData\Roaming\Subversion\auth\svn.simple文件夹下的文件

     svn.simple文件夹的文件保存的是各svn服务器的用户名和密码信息,如果密码更改了。要删除这些文件,commit的时候回提示重新输入用户名和密码。

     google code的密码好像是无法更改的,我也从来没改过,所以这个解决方案明显不能解决我的问题。

3、google code 规定commit时svn地址必须是https://开头,如果你check out出来时是用的http://,是无法commit的。看到    这个我就知道这才是正解,解决方法也很简单。

     eclipse:在项目上右键----team----relocate(切换)----将url地址中的http://改成https://;

     tortoiseSVN:在项目上右键----tortoiseSVN-----relocate(切换)----将url地址中的http://改成https://;

posted @ 2012-07-26 16:42  逍遥K杰  阅读(2707)  评论(0编辑  收藏  举报