gpt4 book ai didi

git - 单个 git-svn 命令不为多个 svn 操作缓存密码

转载 作者:行者123 更新时间:2023-12-04 18:10:12 26 4
gpt4 key购买 nike

我正在使用 git-svn 连接到通过 https 进行身份验证的颠覆存储库。我在 Linux (Ubuntu 12.04) 上使用 git 命令行客户端。当我执行任何需要与颠覆服务器交互的命令时,我必须按预期输入我的 svn 密码。但是,如果该命令需要与 svn 服务器进行多次交互(例如 git svn dcommit 进行多次本地提交),我必须多次输入密码。

在另一个工作站上,我有一个类似的设置,这让我在整个提交系列中要求一次密码的预期行为。

我发现了类似的问题herehere但在这两种情况下,OP 都希望在 git-svn 命令之间缓存 svn 凭据。我没有配置 subversion 来缓存我的密码,如果可以的话我想保留它。

我的 git-svn 版本是 1.7.9.5 (svn 1.6.17)

最佳答案

问题是 git svn 命令使用围绕常规 Subversion 接口(interface)的包装器执行多个 Subversion 操作; Git 不知道也不关心您的 Subversion 凭据。

我可以看到几个不同的继续选项,但都不是很好:

  • 启用 Subversion 的凭据存储。你知道这件事并说你不想这样做,所以这是不可能的。

  • 只需为 Git 执行的每个 Subversion 操作键入密码。您当前的解决方案;如果那很好,你就不会问这个问题了。

  • 补丁 git svn。 Git 代码是开源的,git svn 命令是用 Perl 编写的,因此您可以在您的系统上编辑并使用新版本而无需重新编译。粗略的设计:

    • 每当与 Subversion 存储库交互时,首先尝试在没有交互身份验证的情况下执行它(即 --non-interactive 底层 svn 命令的参数) .

    • 如果可行,很好,继续。如果失败,则假设由于缺少身份验证而失败,并提示用户输入用户名和密码。

    • 后面的svn命令,如果不需要认证,就这样进行。否则,明确指定存储的用户名和密码(即 --username--password 底层 svn 命令的参数)。

不过,单打独斗绝非易事。除非您特别喜欢在 Git 源代码中进行一些艰苦的工作,或者希望这足以支付某人为您做那件事,否则看起来这是您需要忍受的行为。

关于git - 单个 git-svn 命令不为多个 svn 操作缓存密码,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15690560/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com