配置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的步骤就可以了