问题描述:
1、 使用SmartSVN下载project,SmartSVN使用的subversion版本为1.9.4.
2、使用Android Studio打开project,提示错误:
Errors found while svn working copied detection. Fix it.
点击 Fix it,提示:
svn: E155021: This client is too old to work with the working copy at '/Users/jing/Desktop/App-Android/iHealthSDK' (format 31). You need to get a newer Subversion client. For more details, see http://subversion.apache.org/faq.html#working-copy-format-change
注意:提示里的解决方案,已经过时了,仅能downgrade 1.6为 1.5 1.4,1.7+的就无效了。
造成此问题的原因:
下载project使用的subversion是1.9.4,android studio 使用的系统的subversion, console里输入:svn --version,得到的版本1.7.
也就是说Android Studio使用的1.7版本的subversion,无法解析1.9.4下载的代码,所以报错了。
解决方案: 上面已经说过,android studio的提示方案,已经过时了,无法使用了,经实测确实无效。
既然是版本不匹配,那我们就升级系统的subversion版本吧。
1. 下载前,console里输入 : which -a svn,会输出系统目前已经安装的所有svn路径。
现在只有一个:/usr/bin/svn
2. 下载新版本的svn,下载地址:
http://www.wandisco.com/subversion/download#osx
选择合适的版本,下载安装,巴拉巴拉。。。
3. 安装完成后,配置环境变量:
console 里输入:
open .bash_profile
默认使用文本编辑器打开文件(对VIM不熟悉,所以选用此种方式)
文件后面添加:
export PATH=/opt/subversion/bin:$PATH
保存后退出。
console 里输入:
source .bash_profile
使环境变量生效。
4. 此时,查看svn版本,发现已经升级为刚安装的版本
console里输入: which -a svn
输出两个svn路径:
/opt/subversion/bin/svn, 此路径就是刚安装的新版本的svn
/usr/bin/svn
5. 打开Android Studio,选择Preference,找到Version Control -- Subversion,
Use command line client,前面打钩,后面输入刚安装的svn路径: /opt/subversion/bin/svn
点击 ok 。
再次打开Androud Studio,或者刷新,发现错误没有了,哈哈
至此,大功告成。
归根结底就是两个SVN的版本不匹配导致的,折腾了1天多,一直再尝试官方的那个方式。。。 还得安装Python,Python再执行一个脚本去downgrade。。。为啥没人更新官方额这个问题。。。