Je reçois le problème en utilisant gitpython:Aucun gestionnaire n'a pu être trouvée pour enregistreur « git.remote »
No handlers could be found for logger "git.remote"
Mon code
print repo_object.remote() # origin
print repo_object.active_branch # master
print repo_object.active_branch.name # master
refspec = repo_object.active_branch.name + ":refs/for/" + repo_object.active_branch.name
print refspeC# master:/refs/for/master
print "Push " + refspeC# push master:refs/for/master
print remote.push(refspec) # [<git.remote.PushInfo object at 0x....>]
remote.push(refspec)
pushed_repos.append(repo_name)
print pushed_repos # my project repo
Mon but est de pousser un sous-module nouvellement ajouté (créé/mis à jour) les fichiers à gerrit.
Edit: Demande de @Arount
Ok, donc j'ai une fonction appelée
del_proj_gerrit(pushed_repos, commit_message, repo_path, repo_name, push)
Les arguments suivants: a des valeurs
pushed_repos # []
commit_message # just a commit message
repo_name_path # path to my local repo
repo_name # name of the project repo
push # A value of True is set here
l'intérieur de ma fonction del_proj_gerrit
je:
add_all_files("./")
if push == True:
commit_and_push(pushed_repos, commit_message, repo_path, repo_name)
Dans ma fonction commit_and_push
je:
repo_path_new = repo_path+repo_name
repo_object = Repo(repo_path_new) # <git.Repo "C\localpath\.git\modules\repo-project">
if commit_command_line(commit_message, repo_object, repo_name):
# Inside the if-statement you have the code I posted before
Je l'intérieur de la fonction commit_command_line
:
cmd = "git commit -m \"%s\"" % commit_message
errmsg = "Failed command:\n" + cmd
success = True
try:
execute_shell_process(cmd, errmsg, True, True)
except CommonProcessError as e:
print "Error during commit for repo '" + repo_name + "' (ret code " + \
str(e.returncode) + ")."
print "Assuming that there was no changes to last commit => continue"
success = False
return success
@Arount Vérifiez mon – user535081
modifier jamais réellement utiliser la fonction retraçage avant. Suggérez-vous 'traceback.print_exc()'? parce que quand je fais ça, je reçois None. D'après la documentation que j'ai lue, il semble que je doive utiliser 'try & except'. La chose est que j'obtiens le maître ** Push: refs/for/master Aucun gestionnaire n'a pu être trouvé pour l'enregistreur "git.remote" ** quand j'essaye de le pousser semble être. En d'autres termes, je ne reçois aucune erreur :(La fonction que j'ai collée ci-dessus sont les plus pertinentes (peut-être pas le meilleur format) – user535081
@Arount 'Aucun gestionnaire n'a pu être trouvé pour logger ...' est un avertissement, pas une erreur – phd