配置svn的方法不多說,網上一堆。這里要說的是怎么解決連接不上svn以及在xcode中不能修改svn目錄的問題。
首先,xcode連接不上linux的svn,一般來說,問題就出在端口上。svn的默認端口是3690,通過終端,把防火牆的端口打開就可以了:
iptables -I INPUT -p tcp --dport 3690 -j ACCEPT
如果想永久開放端口,那就進入:vi /etc/sysconfig/iptables 在最后加上目標端口即可,保存退出后,使用:/sbin/service iptables restart 重啟一下防火牆
接下來就是在xcode上為什么會認證失敗的問題。
好吧,那是蘋果的問題,也是一個很讓人煩的bug,而天才吧的人認為那是合理的。。。我無解。。。
xcode默認會把當前登錄svn的客戶端的系統帳號作為登錄svn的帳號,並記錄下來,如果在svn上沒有一樣的帳號的話,那你就悲劇了。不過沒關系,網上還是有人找到了解決方法:
1、在客戶端的terminal中輸入:
svn ls svn://XXX.com --username XXX --password XXX
然后終端會提示輸入系統密碼以及svn登錄帳號和密碼,這時按設置好帳號和密碼登錄就可以了。
如果還不行的,沒關系,還有辦法(本人就是通過這個方法最后解決掉的)
2、在客戶端的terminal中輸入:
svn import /Users/XXX/Documents/123.txt svn://XXX.com/a/123.txt --username XXX --password XXX -m "message" #雙引號貌似不用的,XXX就是你自定義的東西了
以上命令就是使用終端把一個叫123.txt文件上導入到svn中,並命名為123.txt。
執行成功后,重啟xcode,打開目錄,你就可以神奇地發現123.txt已經上傳到目錄/a/下啦。
3、如果以上方法都不能執行的話,那就有可能是你的SVN配置(本地客戶端,xcode大概就是用本地的svn配置來記錄用戶權限的)里記錄下了你之前的匿名帳號,這時你應該執行:
sudo vi .subversion/config
把password-stores=keychain注釋掉,默認下是注釋掉的,當時有手賤了,害我搞了老半天都不知道情況。修改后保存退出,再執行一次1或2的步驟就可以了