Eclipse 一直要求输入 svn 密码

Eclipse keeps asking for svn password

每当我尝试 synchronize/update 使用 SVN 存储库的项目时,它都会要求我输入密码。这让我抓狂,我正在检查 "save password" 复选框,但它根本不起作用。更重要的是,我不能使用简单的密码。

它可能与我公司的代理有某种联系,但 eclipse 插件更新站点工作正常。

我的 AppData 目录中有一个 Subversion 目录,也许我应该删除它? 我也可以提供额外的信息,我只是不知道什么可能是相关的。

我将 SubclipseJavaHL 提供商一起使用,我的 Eclipse 版本是 4.4.2,但我在 Eclipse 3.7.2

以下是对我有用的方法。我去 Window/Preferences/Team 看到有两个 "SVN" 子菜单。我不确定我是如何达到这种状态的,但我可能在某个时候同时安装了 Subversion 和 Subclipse。

无论如何,在第一个 SVN 子菜单中,有一个 SVN 连接器选项卡。在另一个 SVN 菜单中,有一个标有 "SVN interface" 的小节。这两个都提供了一个下拉列表到 select a connector/interface。就我而言,在第一个 SVN 菜单中,SVN 连接器设置为 "SVNKit"。在第二个 SVN 菜单中,它被设置为 "JavaHL"。我将其更改为 SVNKit,此后没有任何问题。

这就是刚刚给我的措辞(火星、subclipse、SVNKit): 我阅读了 $WORKSPACE/.metadata/.log 文件,发现了这个:

!ENTRY org.eclipse.core.runtime 2 0 2015-09-04 09:24:33.282^M
!MESSAGE Authorization infrastructure (org.eclipse.core.runtime.compatibility.auth) not installed.
!STACK 0
java.lang.ClassNotFoundException: org.eclipse.core.internal.runtime.auth.AuthorizationDatabase cannot be found by org.eclipse.core.runtime_3.11.0.v20150405-1723

Duckduck 搜索包名 org.eclipse.core.runtime.compatibility.auth 并在 Maven repository 中找到它,我在那里下载了 jar 文件,我将其复制到我的 $ECLIPSE_HOME/dropins 目录。 重新启动 eclipse 后,日志中没有错误,只是询问了一次我的主密码。从此再也没有烦人的密码对话框了。

这个效果很好:http://www.thinkplexx.com/learn/howto/ide/eclipse/fix-eclipse-svn-always-asking-for-login-and-password-clear-keyring-or-cache

有一些文件要删除:

  • 在 Eclipse 中删除(或重命名 .old):/configuration/org.eclipse.core.runtime/.keyring
  • 删除您个人资料中的文件(AppData/Roaming 或 ~):/.subversion/auth/svn.simple

转到 SVN 透视图并输入 login/password。现在应该保留它。

对我有用的是 Window->Preferences->Team 然后在 'SVN Interface' select 'SVNKit (Pure Java)' 选项下。

在尝试其他解决方案后,我可以再提供一个适合我的解决方案。

就像将登录密码弹出窗口 window 中的组合 "Apply To" 从 "http://..." 更改为 "Repository Location" 一样简单。

我也按照评论删除了 C:\Users...\AppData\Roaming\Subversion\auth。

Eclipse 版本:Mars.2 Release (4.5.2)

希望这对您有所帮助。

当前答案中的

None 在 eclipse neon 中对我有用。因此,我在 /.subversion/auth/svn.simple/[filename] 中编辑了哈希文件 我添加了密码信息:

K 15
svn:realmstring
V 51
<https://svn.example.com:443> Subversion Repository
K 8
username
V [length_of_username]
[username[
K 8 
password
V [length_of_password]
[password]
END

看来你(xwhyz)自己给出了答案:删除这个文件夹中的文件: c:\Users\<myname>\AppData\Roaming\Subversion\auth\svn.simple\ (带有 Subclipse 1.10.13 + Subversion 客户端适配器 1.10.3 的 Eclipse Neon.2)

编辑: 我还禁用了 Eclipse 的自动更新检查,现在手动进行。当提示输入 SVN 密码时,只需按 OK 3-5 次,无需重新输入密码。

所以我尝试了您提出的所有方法,但都没有用。 我的解决方案是:

  1. 右键单击 TortoiseSVN
  2. 设置
  3. 网络
  4. Subversion 服务器文件,按钮 'Edit'
  5. 我加了:

    [组] group_name = group_address

    [group_name] http-proxy-exceptions = proxy_exceptions

    http-代理主机=proxy_host

    http-代理端口=port_number

    存储密码 =

我填写了 group_name、group_address、proxy_exceptions、proxy_host、port_number 并检查了 'yes'。

希望对你有用。

  1. 去了Window/Preferences/Team/SVN
  2. 从 "JavaHL" 设置为 "SVNKit"。

我将其更改为 SVNKit,此后没有遇到任何问题。

可能是最简单的尝试解决方案,并且对我们有效,就是重置用户在其 SVN 帐户上的密码。我们最近升级到较新版本的 CollabNet SVN,但我们没有迁移用户帐户(如果我们可以这样做,那可能会很好)。

有两个开发者遇到了这个问题:一个用户忘记了他们的密码,并且还没有为另一个用户创建帐户。很高兴看到有关服务器行为中凭据的更具描述性的错误消息。

我遇到了类似的问题,下面的解决方案对我有用:打开 Windows - 首选项 - 团队 - SVN 并检查 SVN 接口,它应该是客户端作为 SVNKit 代替 JavaHL 并重新启动 eclipse / RAD它将正常工作。

Eclipse(至少我的是:带有 Subclipse 的 Eclipse 4.8.0 和 SVNKit 1.8.12)很有可能正在使用存储的命令行 Subversion 实用程序的密码存储(至少在 Linux) 在 ~/.subversion/auth/svn.simple 下。 正如 Daniel Juniszek 在他的 中指出的那样,您可以手动编辑它,但是从命令行执行此操作要简单一些:

在项目文件夹中执行 svn up,如果要求输入密码,请输入密码,然后在 Store password unencrypted (yes/no)? 问题中输入 yes。
成功完成更新后,再次执行 svn up 以检查它是否不会再次询问您的密码。

如果它再次询问,那么可能你遇到了和我一样的问题:
我对上述目录中的两个哈希文件设置了错误的权限(它是 r--r--r-- 而不是 rw-r--r--) 因此 subversion 命令无法更新文件。在我使用 chmod u+w ~/.subversion/auth/svn.simple/YOUR_FILENAME_HERE 命令更改权限后,svn up 使用密码更新了文件,最后 Eclipse 也不再询问我密码。