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

2024-09-30 08:15:34 发布

您现在位置:Python中文网/ 问答频道 /正文

我和一个不喜欢git的代理一起工作。在大多数情况下,我可以使用export http_proxy和{}。在

但是当我使用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://替换为{}。绝对不酷。在


Tags: orggit脚本httpurl代理remotelinux
1条回答
网友
1楼 · 发布于 2024-09-30 08:15:34

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

然而,你重写的计划并不是很好。。。您只是将git://part或url替换为http://,但是如果您查看例如linux-yocto-3.14,您将看到此repo可通过以下两个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。因此,您需要执行以下操作:

^{pr2}$

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

相关问题 更多 >

    热门问题