引言: 在切換subversion服務器地址之后,發生的無法正確提交代碼的問題org.apache.subversion.javahl.ClientException: svn: E200007: Commit failed (details follow), 該如何解決呢?
1. 背景介紹
由於項目需要,在機器上切換了subversion的服務器地址,但是在新的subversion的服務器地址上進行代碼提交之時,出現了無法提交的錯誤。
2. 錯誤信息的分析
具體的錯誤信息:
- org.apache.subversion.javahl.ClientException: svn: E200007: Commit failed (details follow):
- svn: E200007: CHECKOUT can only be performed on a version resource [at this time].
- svn: E175002: CHECKOUT request failed on '/svn/bsettle/!svn/rvr/3/Code/bsettle/src/main/java/com/bsettle/basic/controller/BasicDataController.java'
- org.apache.subversion.javahl.ClientException: svn: E200007: Commit failed (details follow):
- svn: E200007: CHECKOUT can only be performed on a version resource [at this time].
- svn: E175002: CHECKOUT request failed on '/svn/bsettle/!svn/rvr/3/Code/bsettle/src/main/java/com/bsettle/basic/controller/BasicDataController.java'
Eclipse中出現的錯誤信息:
基於以上出現的錯誤信息, 可以得知,無法向目的服務器提交信息,原因是ChECKOUTcan only be performed on a version resource[at this time].
首先排除是subversion本身的客戶端發生導致的問題,Eclipse本身也不存在問題,之前都是正常工作的。
那只能是由於切換subversion服務器導致的問題,無法提交,是不是由於緩存在本地的權限或者地址信息不匹配造成的呢?
3. 問題的解決
那就清除一下本地的緩存吧, 右鍵選中項目--> Team-> Referesh/Clearup [刷新/清除]。
哈哈,然后就可以順利提交代碼,原來問題就是不同的svn服務器地址的本地緩存造成的問題。
4. 總結
大膽假設,排除分析,推理論證,解決問題。