subversion 1.7 或更早的版本主要使用磁盘缓存来存储认证凭证。
在 Subversion 1.8 中,配置文件($HOME/.subversion/config)引入了 --disable-plaintext-password-storage 选项,允许绕过存储明文和客户端口令的逻辑。
Subversion 认证信息的默认缓存目录如下:
- 在 Linux 下为 $HOME/.subversion/auth/ 目录
- 在 Windows 下为 %APPDATA%\Subversion\auth;可以通过 echo %APPDATA% 命令查看其实际目录。注意:在 Windows 下 %APPDATA% 是默认隐藏的文件夹。
auth 子目录的具体内容包括:
- svn.simple:包含基本认证方式所需的认证信息(用户名/密码)。在 Linux 服务器上,密码以明文形式存储,1.8 版本可以选择不缓存认证,但如果缓存,依然是明文形式;在 Windows 上,密码通过 WinCrypt API 加密,不是文本形式。此外,MacOS X、Gnome、KDE 等桌面环境也提供了加密解决方案。
- svn.ssl.client-passphrase 和 svn.ssl.server:包含 SSL 服务器证书。
- svn.username:包含用户名认证的认证信息(不需要提供密码)。
如果要清除 SVN 认证缓存,可以删除上述的 auth 目录:
- Windows 命令:
rmdir /s /q "%APPDATA%\Subversion\auth"
- Linux 命令:
rm -rf $HOME/.subversion/auth/
查看 auth 目录下某个文件的详细内容:
- Linux 环境:
K 8 passtype V 6 simple K 8 password V 8 svnpassword K 15 svn:realmstring V 35 svnhosturl K 8 username V 8 svnusername END
- Windows 环境:
K 8 passtype V 8 wincrypt K 8 password V 272 svncryptpassword K 15 svn:realmstring V 35 svnhosturl K 8 username V 8 svnusername END
以下是摘自 Subversion 官网的资料:
磁盘缓存(Disk Cache):

外部安全缓存(Outsourced Secure Cache,即第三方安全缓存):











