Existe-t-il une méthode Python sans utiliser de sous-processus pour cloner un dépôt git ? Je suis prêt à utiliser n'importe quel type de modules que vous recommandez.
Réponses
Trop de publicités?
Manje
Points
361
Ma solution est très simple et directe. Il n'a même pas besoin de la saisie manuelle de la phrase de passe/mot de passe.
Voici mon code complet :
import sys
import os
path = "/path/to/store/your/cloned/project"
clone = "git clone gitolite@<server_ip>:/your/project/name.git"
os.system("sshpass -p your_password ssh user_name@your_localhost")
os.chdir(path) # Specifying the path where the cloned project needs to be copied
os.system(clone) # Cloning
crizCraig
Points
2041
Voici un moyen d'imprimer la progression lors du clonage d'un repo avec GitPython
import time
import git
from git import RemoteProgress
class CloneProgress(RemoteProgress):
def update(self, op_code, cur_count, max_count=None, message=''):
if message:
print(message)
print('Cloning into %s' % git_root)
git.Repo.clone_from('https://github.com/your-repo', '/your/repo/dir',
branch='master', progress=CloneProgress())