在尝试克隆不存在的远程仓库时防止 GitPython 询问凭据
Preventing GitPython from asking for credentials when trying to clone a non-existent remote repo
在下面的程序片段中,我从远程位置克隆了一个现有的存储库并且它工作正常。
然后我尝试克隆一个不存在的存储库,这次调用 git.Repo.clone_from()
从键盘请求名称和密码。
我的应用程序非常不希望在等待键盘输入时阻塞,因此如果回购不存在,我希望对 git.Repo.clone_from()
的调用抛出异常。
有什么方法可以导致这种情况发生,或者在我尝试克隆它之前以某种方式检测现有 URL 中是否存在 git 存储库?
import git, shutil
DIRECTORY = '/tmp/clone'
def clone(url):
print(url)
shutil.rmtree(DIRECTORY, ignore_errors=True)
git.Repo.clone_from(url=url, to_path=DIRECTORY, b='master')
clone('https://github.com/ManiacalLabs/BiblioPixelAnimations.git/')
clone('https://github.com/ManiacalLabs/NONEXISTENT.git/')
输入空的用户名和密码应该可以解决问题
clone('https://:@github.com/ManiacalLabs/BiblioPixelAnimations.git/')
clone('https://:@github.com/ManiacalLabs/NONEXISTENT.git/')
注意github.com
前有:@
。
在下面的程序片段中,我从远程位置克隆了一个现有的存储库并且它工作正常。
然后我尝试克隆一个不存在的存储库,这次调用 git.Repo.clone_from()
从键盘请求名称和密码。
我的应用程序非常不希望在等待键盘输入时阻塞,因此如果回购不存在,我希望对 git.Repo.clone_from()
的调用抛出异常。
有什么方法可以导致这种情况发生,或者在我尝试克隆它之前以某种方式检测现有 URL 中是否存在 git 存储库?
import git, shutil
DIRECTORY = '/tmp/clone'
def clone(url):
print(url)
shutil.rmtree(DIRECTORY, ignore_errors=True)
git.Repo.clone_from(url=url, to_path=DIRECTORY, b='master')
clone('https://github.com/ManiacalLabs/BiblioPixelAnimations.git/')
clone('https://github.com/ManiacalLabs/NONEXISTENT.git/')
输入空的用户名和密码应该可以解决问题
clone('https://:@github.com/ManiacalLabs/BiblioPixelAnimations.git/')
clone('https://:@github.com/ManiacalLabs/NONEXISTENT.git/')
注意github.com
前有:@
。