gpt4 book ai didi

python - 在 python 脚本中使用代理后面的 git

转载 作者:太空宇宙 更新时间:2023-11-04 10:54:29 25 4
gpt4 key购买 nike

我使用一个不喜欢 git 的代理。在大多数情况下,我可以使用 export http_proxygit config --global url."http://".insteadOf git://

但是当我使用 Yocto 的 python 脚本时,此解决方法不再有效。我系统地停在 Getting branches from remote repo git://git.yoctoproject.org/linux-yocto-3.14.git...。我怀疑这些行是负责任的:

gitcmd = "git ls-remote %s *heads* 2>&1" % (giturl)
tmp = subprocess.Popen(gitcmd, shell=True, stdout=subprocess.PIPE).stdout.read()

我认为在这些行之后,其他人会尝试连接到 git url。我用的脚本(yocto-bsp)调用了别人的脚本,别人调用的脚本,不好说。我试图在之前添加 os.system(git config --global url."http://".insteadOf git://),但它确实是花生。

当然,我可以尝试手动修改所有 url(或使用解析脚本)以手动将 git:// 替换为 http://,但是这个解决方案是......可怕的。我希望修改尽可能小并且易于重现。但最重要的是,我想要一个有效的脚本。

编辑:根据this page ,git url 是 git://git.yoctoproject.org/linux-yocto-3.14 但相应的 http url 是 http://git.yoctoproject.org/git/linux- yocto-3.14,所以我不能仅仅通过解析将 git:// 替换为 http://。绝对不酷。

最佳答案

好吧,重写 git url 确实有效,在使用 YP 时也是如此。

但是,您重写的方案效果不佳...您只是将 git://部分或 url 替换为 http://,但是如果您查看例如linux-yocto-3.14 ,您会看到可以通过以下两个 URL 获取此存储库:

git://git.yoctoproject.org/linux-yocto-3.14
http://git.yoctoproject.org/git/linux-yocto-3.14

那就是你需要将 git://git.yoctoproject.org 重写为 http://git.yoctoproject.org/git。因此,您需要改为这样做:

git config --global url."http://git.yoctoproject.org/git".insteadOf git://git.yoctoproject.org

这意味着您必须对通过 git 协议(protocol)访问的所有存储库重复此练习。

关于python - 在 python 脚本中使用代理后面的 git,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29385004/

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