2016-11-16 6 views
1

J'essaie d'écrire un script qui sera déclenché par un webhook github de requête pull. Lorsque ce script est déclenché, il doit rechercher les fichiers modifiés de master à newBranch. En fin de journée, je vais lire ces fichiers, vérifier qu'aucun changement n'a été apporté, puis écrire pourquoi il devrait/ne devrait pas être fusionné et l'envoyer à un humain pour confirmer. J'utilise gitpython (ou, plutôt, j'essaie de), mais la documentation ne va pas vraiment au-dessus du cas d'utilisation des relations publiques.Utilisation de gitpython pour modifier des modifications à partir d'une requête pull

Mon code ressemble à ceci jusqu'à présent, mais je ne suis pas convaincu que je suis bien faire les choses:

repo = git.Repo('.') 
repo.config_reader() 
for d in repo.index.diff(repo.remotes.origin.refs.master.commit): 
    print d 
    print d.diff 

Je suppose que je ne suis pas sûr de ce que l'indice est dans un PR, donc je Je ne suis pas convaincu que cela diffère les bonnes choses. Quand je l'essaye dans un repo de test, je ne vois pas de diffs à moins que je corrige manuellement les conflits de fusion, donc je suspecte que je ne fais pas les choses correctement.

Pouvez-vous s'il vous plaît m'aider avec le code, ou suggérer un flux de travail que je pourrais utiliser pour tester ce script? Je m'embrouille plus je regarde ça.

Répondre

0

Ce n'est pas la bonne approche.

Les PR ne sont pas un concept git; ils sont un Github. Vous ne pouvez pas utiliser gitpython pour cela. Vous devrez utiliser l'API de Github, pour laquelle il existe several third-party libraries.