通过 CVS 的 pserver,你需要在读写操作之前“登陆”到服务器(使用 cvs login 命令)—即使是匿名操作。当 Subversion 版本库使用 Apache 的 httpd 或 svnserve 作为服务器时,你不需要在开始时提供认证凭证—如果一个操作需要认证,服务器会要求你的凭证(不管这凭证是用户名与密码,客户证书,还是两个都有)。所以如果你的工作副本是全球可读的,在所有的读操作中不需要任何认证。
相对于CVS,Subversion会一直在磁盘(在你的~/.subversion/auth/
目录)缓存凭证,除非你通过--no-auth-cache
选项告诉它不这样做。
这个行为也有例外,当使用基于 SSH 隧道的 svnserve 服务器时,使用
svn+ssh://
的 URL 方案。在这种情况下,ssh
会在通道刚开始时无条件的要求认证。