mac svn版本

http://xiayong.blog.51cto.com/6292420/1186124

截至目前SVN最新版本已经到l.7.9 Release,而Xcode以及Mac系统自带的SVN版本还是1.6。实在不喜欢SVN1.6版本在每个目录下都生成一个.svn文件夹,所以动手自己来升级SVN。

1、下载最新版的Mac版SVN客户端

到http://www.wandisco.com下载最新的Mac版SVN客户端,地址:http://www.wandisco.com/subversion/download/thankyou?f=subversion-binaries%2F1.7%2FSubversion-1.7.9_10.8.x.pkg 如果你的操作系统不是10.8请自己在下载页面选择一个合适的版本。

下载得到文件:Subversion-1.7.9_10.8.x.pkg。

2、安装最新版SVN客户端

点击刚才下载得到的文件开始安装,程序会安装到/opt/subversion下面。

3、替换Mac OS X自带的SVN客户端

使用如下命令可以找到Mac OS X自带的SVN客户端所在的目录

  1. $ which svn 
  2. /usr/bin/svn 

我们可以看一下这些文件

  1. $ ls /usr/bin/svn* 
  2. /usr/bin/svn           /usr/bin/svndumpfilter /usr/bin/svnrdump      /usr/bin/svnsync 
  3. /usr/bin/svnadmin      /usr/bin/svnlook       /usr/bin/svnserve      /usr/bin/svnversion 

接下来我们删除这些旧版本的SVN程序,如果你有点点不放心,建议备份一下

  1. $ sudo rm -rf /usr/bin/svn* 

OK,接下来我们创建一些链接

  1. $ sudo ln -s /opt/subversion/bin/svn* /usr/bin/ 

好了,我们已经升级成功了,检测一下,如果你看到下面的信息,恭喜你!

  1. $ svn --version 
  2. svn, version 1.7.9 (r1462340) 
  3.    compiled Apr  3 2013, 13:49:20 
  4.  
  5. Copyright (C) 2013 The Apache Software Foundation. 
  6. This software consists of contributions made by many people; see the NOTICE 
  7. file for more information. 
  8. Subversion is open source software, see http://subversion.apache.org/ 
  9.  
  10. The following repository access (RA) modules are available: 
  11.  
  12. * ra_neon : Module for accessing a repository via WebDAV protocol using Neon. 
  13.   - handles 'http' scheme 
  14.   - handles 'https' scheme 
  15. * ra_svn : Module for accessing a repository using the svn network protocol. 
  16.   - with Cyrus SASL authentication 
  17.   - handles 'svn' scheme 
  18. * ra_local : Module for accessing a repository on local disk. 
  19.   - handles 'file' scheme 
  20. * ra_serf : Module for accessing a repository via WebDAV protocol using serf. 
  21.   - handles 'http' scheme 
  22.   - handles 'https' scheme 

4、替换Xcode自带的SVN客户端

我之前以为Xcode直接调用操作系统自带的SVN客户端,更新了操作系统自带的SVN客户端之后,在Xcode里直接使用SVN,发现竟然还是1.6的!所以我们还需要升级Xcode的SVN客户端。

我当前Xcode版本是4.6.2,SVN客户端位于/Applications/Xcode.app/Contents/Developer/usr/bin/目录下

  1. $ ls /Applications/Xcode.app/Contents/Developer/usr/bin/svn* 
  2. /Applications/Xcode.app/Contents/Developer/usr/bin/svn 
  3. /Applications/Xcode.app/Contents/Developer/usr/bin/svnadmin 
  4. /Applications/Xcode.app/Contents/Developer/usr/bin/svndumpfilter 
  5. /Applications/Xcode.app/Contents/Developer/usr/bin/svnlook 
  6. /Applications/Xcode.app/Contents/Developer/usr/bin/svnrdump 
  7. /Applications/Xcode.app/Contents/Developer/usr/bin/svnserve 
  8. /Applications/Xcode.app/Contents/Developer/usr/bin/svnsync 
  9. /Applications/Xcode.app/Contents/Developer/usr/bin/svnversion 

接下来我们删除这些旧版本的SVN程序,如果你有点点不放心,建议备份一下

  1. $ sudo rm -rf /Applications/Xcode.app/Contents/Developer/usr/bin/svn* 

老套路,创建链接

  1. $ sudo ln -s /opt/subversion/bin/svn* /Applications/Xcode.app/Contents/Developer/usr/bin/ 

当然,如果你想和Xcode一样,直接把这些文件复制到Xcode下面也可以

  1. $ sudo cp /opt/subversion/bin/svn* /Applications/Xcode.app/Contents/Developer/usr/bin/ 

5、升级旧版本检出的代码

如果你使用1.6版本的SVN客户端检出了代码,使用1.7版本的客户端的时候,可能会出一些版本不兼容的问题,解决办法是切入到代码工程所在根目录,执行以下命令进行转换

  1. $ svn upgrade 

或者,把之前检出的代码全部删掉,重新检出。。。

本文出自 “xiayong” 博客,请务必保留此出处http://xiayong.blog.51cto.com/6292420/1186124