svn 出错调试总结

  • Post author:
  • Post category:其他


http://blog.sina.com.cn/s/blog_af73e7a70101dlne.html

一)
原地址:http://www.ixna.net/articles/2606 //证书缓存

$ svn list https://host.example.com/repos/project Error validating server certificate for https://host.example.com:443: – The certificate is not issued by a trusted authority. Use the fingerprint to validate the certificate manually! – The certificate hostname does not match. – The certificate has expired. Certificate information: – Hostname: host.example.com – Valid: from Jan 30 19:23:56 2004 GMT until Jan 30 19:23:56 2006 GMT – Issuer: CA, example.com, Sometown, California, US – Fingerprint: 7d:e1:a9:34:33:39:ba:6a:e9:a5:c4:22:98:7b:76:5c:92:a0:9c:7b (R)eject, accept (t)emporarily or accept (p)ermanently?

选择p则在本地保存该证书信息,下次不再出现类似警告。证书缓存保存在


解决方法:


~/.subversion/auth/svn.ssl.server 目录中。

当 svn 命令行使用了 –no-auth-cache 参数时, (p)ermanently 的选项将不会被显示,只能选择 R 或 t 。但往往有时候会希望对于证书的 validating 可以被本地缓存,但对于用户名密码则不被缓存,这时候可以先不使用 –no-auth-cache 参数运行一次,选择 p 在本地生成缓存文件,同时删除保存在


~/.subversion/auth/svn.simple 目录下的用户名密码缓存文件,以后就可以使用 –no-auth-cache 参数在每次 svn 的时候都手动输入密码,同时不需要每次都 temporarily 的接受证书了。也可以直接把生成的证书缓存文件直接复制到其他的机器相应的用户目录下。

网上会有很多文章说可以通过在 ~/.subversion/servers 配置文件中 加上

ssl-ignore-host-mismatch = true

ssl-ignore-unknown-ca = true

ssl-ignore-invalid-date = true

来让svn自动忽略证书错误,但实际上这些配置项在新版的 subversion 里面已经被 deprecated 掉了。

二)


Leopard中自带了SVN,但Xcode的项目文件中,并不是所有文件都适于加入SVN中进行管理,比如编译后的文件和编译过程中产生的文件,这些文件不属于源代码,应该告诉svn忽略掉,方法:




编辑~/.subversion/config文件




//配置网站步骤



http://developer.51cto.com/art/201005/202246.htm

Server certificate verification failed: certificate issued for a different hostname, issuer is not trusted

解决方法是在terminal 输入 命令 svn ls [svn的项目地址] 回车后 输入 p 回车。

注意:这个[svn的项目地址]是指svn服务器上面的网络地址,不是本地下载的svn项目。

三)


config:94:option expected

这个错误是说config文件的94行,有SVN无法识此外前置空格。如
### Set global-ignores to a set of whitespace-delimited globs
### which Subversion will ignore in its “”status”” output, and
### while importing or adding files and directories.
### “”*”” matches leading dots, e.g. “”*.rej”” matches “”.foo.rej””.

global-ignores = *.o *.lo *.la *.al .libs *.so *.so.[0-9]* *.a *.pyc *.pyo


*.rej *~ #*# .#* .*.swp .DS_Store *.ncb

global-ignores最前面有个空格,会导致呈现option expected的错误,删除最前面空格就可以了。


要避免呈现这个错误,应当在去掉这些行前的#时,也要顺手去掉前面的空格

四)
SVN 地址错误