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