SVN每次更新弹密码框是因本地凭据未真正保存,主因有三:客户端未开启保存开关、系统缺可用密码存储后端、旧缓存损坏。需修改config文件启用store-passwords与store-auth-creds,指定password-stores后端(如gnome-keyring),并清理~/.subversion/auth/下旧凭证。
SVN每次更新都弹密码框,不是服务器问题,而是本地凭据没真正存住。核心原因就三个:客户端没开保存开关、系统没提供可用的密码存储后端、或者旧缓存损坏干扰了新登录。
SVN默认不自动记密码,必须手动启用。打开配置文件:
定位到 [auth] 区段,确认以下两项为 yes:
如果被注释(前面有 #),去掉 #;如果值是 no,改成 yes。改完保存,不用重启终端,下次操作即生效。
仅开启开关还不够——SVN需要一个“地方”来存密码。现代 Linux(如 Ubuntu 22.04+、CentOS 8+)默认禁用明文存储,必须显式指定后端。编辑同一 config 文件,在 [auth] 下添加或修改:
若使用 gpg-agent,还需确保环境变量就绪:
已有错误凭证会阻止新登录被记住。直接清空认证目录最彻底:
之后首次执行 svn update 或 svn info,会再次提示输入账号密码。这次务必勾选“保存”或确保终端未屏蔽凭证保存逻辑(如非交互式脚本需加 --non-interactive 配合参数)。
TortoiseSVN、VS Code SVN 插件、Eclipse Subversive 等依赖底层 SVN 库,但有自己的 UI 控制:
不复杂但容易忽略