Dans le fragment de programme ci-dessous, je clone un repo existant à partir d'un emplacement distant et fonctionne correctement.Empêcher GitPython de demander des informations d'identification lors de la tentative de clonage d'un repo distant inexistant
Puis j'essaye de cloner un repo inexistant, et cette fois l'appel à git.Repo.clone_from()
demande un nom et un mot de passe du clavier.
Le blocage en attente d'une saisie au clavier est hautement indésirable dans mon application, et donc si le repo n'existe pas, je souhaite que l'appel git.Repo.clone_from()
lève une exception à la place.
Y at-il un moyen de provoquer cela, ou de détecter d'une façon ou d'une autre s'il existe ou non un repo git sur une URL existante avant même d'essayer de le cloner?
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/')
Je viens de l'essayer avec mon programme de test et cela a fonctionné correctement la première fois - A +++. –