从命令行清除TortoiseSVN身份验证缓存

16

TortoiseSVN在大多数情况下都很好用,但在团队开发中存在一个麻烦的问题:当有多个人在特定电脑上使用时,需要进行身份验证。 当我处理工作时,我想保存我的凭据,这样我就不需要为登录、分支、提交等每次都输入它。

问题是我总是忘记在离开时清除我的凭据,因为:

  1. 如果没有其他人使用计算机并故意忘记,我就不想重新输入它。
  2. 这很麻烦,需要点击四次才能完成。

理想情况下,我只需在SVN中拥有一些漂亮的批处理文件来处理这类问题,包括重建图标缓存(我已经可以正常使用)。 我查看了命令行文档,但它没有提到清除身份验证缓存。

有人找到了解决方法吗?我认为这将鼓励我更频繁地清除我的凭据。虽然我们始终可以在提交后更改作者,但仍然有点麻烦...


多个PC用户不应该使用不同的Windows账户吗? - Alexey B.
在我们自己的系统上,我们可以这样做,但是在我们需要编程的共享硬件系统上不行。那甚至比简单地清除SVN身份验证缓存还要低效。 - Dave
2个回答

23

你需要手动删除文件,可以使用如下的方法(使用 .bat 文件):

@echo off
rmdir /s /q "%APPDATA%\Subversion\auth"

请参考TortoiseSVN文档的认证部分。


抢先一步了。但是,身份验证只是存储在文件中,因此删除这些文件将清除它。 - Zac Thompson
好的,谢谢!我无法确定谁先回答了(我希望SO能报告到毫秒级别的时间),但我选择了你的答案,因为你发布了批处理文件内容。 :) 它完全有效! - Dave

2
根据这里所述,这似乎是因为认证数据由SVN库管理而不是Tortoise管理:

也无法做到。认证数据存储在%APPDATA%\Subversion\auth中, 但用户名/密码被加密,并存储在文件中,该文件的名称为URL和服务器发送的信息文本的md5哈希值。 由于TSVN不知道服务器的信息文本,它无法创建md5哈希值,因此不知道哪个加密文件包含哪个认证数据。

似乎没有办法指示svn客户端删除数据,我看到的所有解决方案实际上都会删除auth目录中的文件。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接