gpt4 book ai didi

Python git 确定项目是否有 SSH 或 PWD 身份验证

转载 作者:行者123 更新时间:2023-12-01 09:34:36 25 4
gpt4 key购买 nike

我有一个 GUI 应用程序,它使用 pythongit 库来执行更新。当用户使用 SSH key 对存储库进行身份验证时,更新可以顺利进行,但是当使用用户名/密码身份验证时,启动应用程序的终端上会出现提示(让用户打开 GUI 界面思考)它被卡住了)。

有没有办法确定存储库是否使用 SSH 或密码身份验证,然后可能首先手动提示输入用户名/密码并将其传递给 fetch 调用?

这是基本功能:

def repo_pull(self, git_path):
try:
repo = Repo(git_path)
except InvalidGitRepositoryError as igre:
raise ValueError('Get the project as a Git repository (no archives)')

commits_ahead = repo.iter_commits('origin/master..master')

if sum(1 for c in commits_ahead) > 0:
raise ValueError("Can't pull from git; local repository has unpushed commits!")

origin = repo.remote()
try:
origin.fetch()
except GitCommandError as gce:
,,,

最佳答案

我找到了一种方法来查看远程是否通过 HTTPS 或 SSH 访问

def _determine_authentication(self, repo):
config_reader = repo.config_reader()
config_reader.read()
url = config_reader.get_value('remote "origin"', 'url')
return 'pwd' if url.startswith('http') else 'ssh'

关于Python git 确定项目是否有 SSH 或 PWD 身份验证,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49645768/

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