升級MAC OS的SVN到最新版本

截至目前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客戶端所在的目錄
$ which svn 
/usr/bin/svn 
我們可以看一下這些文件
$ ls /usr/bin/svn* 
/usr/bin/svn           /usr/bin/svndumpfilter /usr/bin/svnrdump      /usr/bin/svnsync 
/usr/bin/svnadmin      /usr/bin/svnlook       /usr/bin/svnserve      /usr/bin/svnversion 
接下來我們刪除這些舊版本的SVN程序,如果你有點點不放心,建議備份一下
$ sudo rm -rf /usr/bin/svn* 
OK,接下來我們創建一些鏈接
$ sudo ln -s /opt/subversion/bin/svn* /usr/bin/ 
好了,我們已經升級成功了,檢測一下,如果你看到下面的信息,恭喜你!
$ svn --version 
svn, version 1.7.9 (r1462340) 
   compiled Apr  3 2013, 13:49:20 
 
Copyright (C) 2013 The Apache Software Foundation. 
This software consists of contributions made by many people; see the NOTICE 
file for more information. 
Subversion is open source software, see http://subversion.apache.org/ 
 
The following repository access (RA) modules are available: 
 
* ra_neon : Module for accessing a repository via WebDAV protocol using Neon. 
  - handles 'http' scheme 
  - handles 'https' scheme 
* ra_svn : Module for accessing a repository using the svn network protocol. 
  - with Cyrus SASL authentication 
  - handles 'svn' scheme 
* ra_local : Module for accessing a repository on local disk. 
  - handles 'file' scheme 
* ra_serf : Module for accessing a repository via WebDAV protocol using serf. 
  - handles 'http' scheme 
  - 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/目錄下
$ ls /Applications/Xcode.app/Contents/Developer/usr/bin/svn* 
/Applications/Xcode.app/Contents/Developer/usr/bin/svn 
/Applications/Xcode.app/Contents/Developer/usr/bin/svnadmin 
/Applications/Xcode.app/Contents/Developer/usr/bin/svndumpfilter 
/Applications/Xcode.app/Contents/Developer/usr/bin/svnlook 
/Applications/Xcode.app/Contents/Developer/usr/bin/svnrdump 
/Applications/Xcode.app/Contents/Developer/usr/bin/svnserve 
/Applications/Xcode.app/Contents/Developer/usr/bin/svnsync 
/Applications/Xcode.app/Contents/Developer/usr/bin/svnversion 
接下來我們刪除這些舊版本的SVN程序,如果你有點點不放心,建議備份一下
$ sudo rm -rf /Applications/Xcode.app/Contents/Developer/usr/bin/svn* 
老套路,創建鏈接
$ sudo ln -s /opt/subversion/bin/svn* /Applications/Xcode.app/Contents/Developer/usr/bin/ 
當然,如果你想和Xcode一樣,直接把這些文件複製到Xcode下面也可以
$ sudo cp /opt/subversion/bin/svn* /Applications/Xcode.app/Contents/Developer/usr/bin/ 
 
5、升級舊版本檢出的代碼
如果你使用1.6版本的SVN客戶端檢出了代碼,使用1.7版本的客戶端的時候,可能會出一些版本不兼容的問題,解決辦法是切入到代碼工程所在根目錄,執行以下命令進行轉換
$ svn upgrade 
或者,把之前檢出的代碼全部刪掉,重新檢出。。。
本文出自 「xiayong」 博客,請務必保留此出處http://xiayong.blog.51cto.com/6292420/1186124

留言

這個網誌中的熱門文章

Eclipse上GIT插件EGIT使用手冊