Windows下升级SVN后,Ubuntu下svn命令报错—svn: E155021: This client is too old to work with the working copy at

Windows下升级SVN后,在Ubuntu下执行svn命令报错,如下:

     svn: E155021: This client is too old to work with the working copy at

     '/home/hwruanjian/WorkArea/android_mtk_jb_6589/android_mtk_jb_6589' (format 31).
      You need to get a newer Subversion client. For more details, see

      http://subversion.apache.org/faq.html#working-copy-format-change


原因:

    由于svn工作拷贝目录下都有个.svn目录,里面保存着svn需要的一些版本信息等,当客户端软件升级后,里面的信息也相应增加以支持更多的特性。比如如果你在终端下用1.4版本的svn客户端co了一份代码,然后到windows下用更高级的tortoiseSVN去操作,会在.svn里增加一些文件。那么以后你再想回到1.4版本去工作,就会有兼容性错误,因为老的客户端(如:subclipse 1.0.6)无法识别那些,所以会报错:"svn: This client is too old to work with working copy '.'; please get a newer Subversion client". 


解决方法:

官方解决办法:
http://subversion.tigris.org/faq.html#working-copy-format-change
http://svn.collab.net/repos/svn/trunk/tools/client-side/change-svn-wc-format.py


   一、先安装python

     1)到http://code.google.com/p/smallfish/  下载2.6版

           注意:从目前来看,最好使用Python 2.6,如果是用最新的3.0版本会出现问题。 比如无法打开Script,出现异常等等

      2)切换到Python的文件目录下执行:

                    1../configure 
                    2.make 
                    3.make test 
                    4.sudo make install                                   

    在这里可能会遇到几个问题,第一个是在./configure时,可能会出现C compiler cannot create executables,对于这个问题的解决,可以使用sudo apt-get install build-essential命令来解决。

      还有一个问题是在安装完成后,使用Python命令来测试安装是否成功时,如果以前预装了Python2.6,仍然会显示旧有的版本。原因在于安装时没有设置--prefit,默认安装在/usr/local目录,/usr/bin文件仍然连接到原有的Python版本。解决方案是:

         1.sudo rm /usr/bin/python 
         2.sudo ln /usr/local/python* /usr/bin/python即可。

        本人进行第3 步( 3.make test,该步进行时间较长,中途退出执行)报错:

                test test_logging failed -- Traceback (most recent call last):
                File "/home/hwruanjian/mysvn/Python-3.1.1/Lib/test/test_logging.py", line 774, in setUp
                self.tcpserver = LogRecordSocketReceiver(port=0)
                File "/home/hwruanjian/mysvn/Python-3.1.1/Lib/test/test_logging.py", line 749, in __init__
               ThreadingTCPServer.__init__(self, (host, port), handler)
                File "/home/hwruanjian/mysvn/Python-3.1.1/Lib/socketserver.py", line 400, in __init__
                self.server_bind()
                File "/home/hwruanjian/mysvn/Python-3.1.1/Lib/socketserver.py", line 411, in server_bind
                self.socket.bind(self.server_address)
                socket.error: [Errno 99] Cannot assign requested address


  二、装完python后,用下面这个脚本就可以解决了,来自tortoiseSVN官网: http://www.blogjava.net/Files/lingy/change-svn-wc-format.rar  用法如:

          python2.6 change-svn-wc-format.py ./projctName "1.4" --verbose

                 注:python2.7无法应用打开脚本—change-svn-wc-format.py


最终执行提示报错:Unrecognized WC format 12 in '/pentest/exploits/framework/.svn/entrie 

所装svn为1.8的,版本太高,不兼容,最后降低到1.7后正常。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值