【问题标题】:Does Git-Svn Store Svn Passwords?Git-Svn 是否存储 Svn 密码?
【发布时间】:2009-03-03 08:15:46
【问题描述】:

我在几个工作项目中使用 git-svn,我注意到几乎每执行一个操作,都会提示我输入我的 Svn 密码。对于某些操作,我会收到多次提示(大概 b/c 在幕后进行了几个操作)。例如,在克隆存储库时,会在克隆实际开始之前提示我 5 次。

我直接使用 Svn 的项目不这样做。这是预期的吗?我可以做些什么来缓存我的凭据?

谢谢。

【问题讨论】:

    标签: svn git-svn


    【解决方案1】:

    也许是个愚蠢的想法,但我发现 git-svn 即使在重置钥匙串条目后也会重新提示输入密码。所以我更改了该项目的访问控制,以便“所有应用程序”可以访问它。似乎有效?

    【讨论】:

      【解决方案2】:

      我在 Sierra 也遇到过类似的问题。 svn 可以正常使用存储的凭据,但 git svn 不会使用存储的凭据,并不断提示重新输入。

      我的解决方案是删除钥匙串中存储的密钥,然后在任何其他程序之前使用git svn。如果git svn 是将密码存储在钥匙串中的程序,则权限设置正确。一旦git svn 用于在钥匙串中创建条目,则可以使用普通svn,并允许访问由git svn 创建的密钥,此时他们都可以使用存储库而没有任何问题,并且没有一直提示我输入密码。

      如果任何其他程序在钥匙串中设置密码,则该程序没有问题,但git svn不会被授予权限。

      【讨论】:

      • 谢谢你,保罗!这让我发疯了。删除与 git-svn (Authentication realm: <http://subversion.xxx.com:80> Enter your user name & password for zzz SVN) 显示的提示对应的钥匙串项,然后使用 git-svn 进行设置,如您所述:
      • 非常感谢!就是这样。 stackoverflow.com/a/55706141/580672
      【解决方案3】:

      我最终不得不一起删除 auth 目录并允许 Subversion 为我重建它。似乎没有其他任何工作。对于不知道的人,auth 目录在 ~/.subversion (Mac/Linux) 中。

      【讨论】:

      • 谢谢!在我的情况下,在 Windows 上,这是有效的,因为在我的密码文件中,passtype=wincrypt(并且有一个加密的密码)是我从 TortoiseSVN 配置迁移过来的。删除它后,它就像你说的那样工作,但现在它以明文形式保存密码(passtype=simple)。大概它与 wincrypt 或其他任何东西都不兼容......
      • 仍然需要删除钥匙串中存储的密码,参考stackoverflow.com/a/39800112/2465785
      【解决方案4】:

      您应该要求 SVN 缓存您的凭据:

      # $ svn update --username 'user2' --password 'password'
      # user1@domain.com's password:
      

      但是,正如 SO 问题 Subversion ignoring “—password” and “—username” options 中所述,请检查提示您输入密码的确切内容。

      【讨论】:

      • 我拥有(或至少理解)的每一个迹象都是 Svn 可以很好地识别密码。只有当我使用 git-svn 时才会收到提示。 svn 操作一整天都不需要输入密码。
      【解决方案5】:

      我遇到了类似的问题。最初我在一个远程 centos 服务器上,试图抓取所有远程 svn 分支,以将它们作为真正的 git 分支推送到一个干净的来源,以便通过以下方式从 svn 硬切换到 git:

      for remote in `git branch -r` ; do git checkout $remote; git pull; done
      

      那里有大约 240 个远程分支。 (我不可能在每次拉取时都输入密码)

      我最终做的是 scp 将 repo 下载到我的本地机器(mac)并启用钥匙串来处理密码缓存。我将所有 svn 提交都拉到本地,然后将我的 repo 复制回远程机器。

      【讨论】:

        【解决方案6】:

        在 OSX 上,如果您以前使用过 svn,看起来 svn 已经创建了一个密码条目(在 OSX 密钥环应用程序中), git svn 不能使用也不能创建一个新的。症状是每次都询问,SourceTree 不能和 System git 一起工作(也不能和内置的 git 一起工作)。

        我的解决方案是删除这个条目,然后使用 git svn 一次,它会创建一个正确的条目。从那时起,SourceTree 也开始工作了。

        https://stackoverflow.com/a/55706141/580672

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 2011-04-18
          • 1970-01-01
          • 1970-01-01
          • 2013-07-25
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          相关资源
          最近更新 更多