在客户端使用 SVN 为所有内容设置默认用户名和密码

Set default username and password for everything using SVN on client

我有一台测试 PC,可以针对大量 SVN 存储库执行自动解析检查。客户端使用简单的 username/password 身份验证。该脚本通常如下所示:

  1. 通过 svn cleanup 清理工作副本,并删除所有非版本文件。
  2. 通过 svn revert -R *
  3. 还原和本地更改
  4. 通过svn up * --username user1 --password testpass
  5. 更新本地工作副本
  6. 运行 parser checkers, compile the occasional project.

使用的一些解析工具执行 SVN 操作(即:请求 svn infosvn diffsvn log 的输出)以生成其他指标。如果本地用户帐户的 auth 条目在 ~localuser/.subversion/auth/svn.simple 中没有匹配的条目,则操作将失败。

每次开发人员向存储库添加新的 svn external 时,都会导致脚本失败。是否可以将 SVN 配置为默认情况下始终对它遇到的所有新 repos/externs 使用相同的用户名和密码,并缓存凭据?

如果您不想在更新 中始终使用 --username ... --password ... 所有存储库都在枚举数量的主机上,您可以预填 .subversion/auth/svn.simple 在具有所有凭据的构建服务器上 for realms:每条记录都有 realm(主机的 URL)作为键并为 realm 存储默认情况下用于领域中所有存储库的凭据(f.e。我有超过 1 个 svn:realmstring V 54 <http://mayorat.ursinecorner.ru:8088> VisualSVN Server 的存储库,但只有一个凭据记录并且可以使用任何存储库,那里 which hat 是必需的...是的,超过单个用户真的很麻烦 - 我可以获取并保存额外的凭据,但 SVN 将无法 select 正确的用户)