Récupérer le contenu de git diff depuis python

Contexte

Je voulais obtenir uniquement yaml diff sous forme de chaîne avec git

Utilisez git de python

Cela s'appelle gitpython, alors obtenez des informations git Entrez avec pip

pip install gitpython

Cliquez ici pour la documentation https://pythonhosted.org/GitPython/0.3.1/reference.html

Je pourrais l'utiliser comme ça

diff.py


# coding: utf-8

import git
from . import PATH

"""
git diff HEAD HEAD^
Quand.Je veux prendre uniquement la différence du fichier yaml sous forme de chaîne de caractères
"""


class Diff(object):
    """TÊTE et TÊTE^La différence de la différence de n'est soustraite que par yaml"""

    DELIMITER = "\n\n"

    def __init__(self, repo_path):
        self.repo = git.Repo(repo_path)
        self.head = self.repo.head.commit
        self.parent = self.head.parents[0]

    def yaml_diff_as_patch(self):
        yaml_diffs = [
            unicode(d.diff) for d
            in self.parent.diff(self.head, 
								create_patch=True)
			# .Seuls les fichiers nommés yaml
            if d.b_blob.name.endswith('.yaml') 
        ]
        return self.DELIMITER.join(yaml_diffs)


if __name__ == '__main__':
    obj = Diff(PATH)
    print obj.yaml_diff_as_patch()

Recommended Posts

Récupérer le contenu de git diff depuis python
[Python] Récupérez le texte de la loi à partir de l'API e-GOV law
Récupérer le code retour d'un script Python depuis bat
Existence du point de vue de Python
Notes d'apprentissage depuis le début de Python 1
Lancez l'interpréteur Python depuis Git bash
[Python] Récupère le code de caractère du fichier
Notes d'apprentissage depuis le début de Python 2
[Python] Obtenez la couleur principale de la capture d'écran
[Python] Obtenir la date de mise à jour d'un article d'actualité à partir de HTML
Le contenu du didacticiel Python (chapitre 5) est résumé dans une puce.
Le contenu du didacticiel Python (chapitre 4) est résumé dans une puce.
[Python] Obtenir / modifier l'étiquette d'échelle de la figure
Le contenu du didacticiel Python (chapitre 2) est résumé dans une puce.
[Python] Obtenez les principaux sujets de Yahoo News
Récupérer l'appelant d'une fonction en Python
Le contenu du didacticiel Python (chapitre 8) est résumé dans une puce.
Le contenu du didacticiel Python (chapitre 1) est résumé dans une puce.
le zen de Python
Le contenu du didacticiel Python (chapitre 10) est résumé dans une puce.
[Python] Obtenez la dernière date de mise à jour du site Web
[Python3] Obtenez la différence de date
Le contenu du didacticiel Python (chapitre 6) est résumé dans une puce.
Le contenu du didacticiel Python (chapitre 3) est résumé dans une puce.
[Python] Get the day (anglais et japonais)
Obtenez la date de mise à jour du fichier de mémorandum Python.
Le mur lors du passage du service Django de Python 2.7 à la série Python 3
Modèle de script python pour lire le contenu du fichier
Comment obtenir le nombre de chiffres en Python
Apprenez Nim avec Python (dès le début de l'année).
[Python] Obtenez le chemin d'accès officiel du fichier de raccourci (.lnk)
[python] Récupère la liste des classes définies dans le module
Étude depuis le début de Python Hour1: Hello World
Points Python du point de vue d'un programmeur en langage C
Obtenir la taille (nombre d'éléments) de Union Find en Python
Ne pas être conscient du contenu des données en python
Essayez d'obtenir le contenu de Word avec Golang
[Python] Obtenir la liste des noms ExifTags de la bibliothèque Pillow
[Maya Python] Écraser le contenu du script 2 ~ list Notes
Étude de Python Hour8: Utilisation de packages
Obtenez l'état de fonctionnement de JR West avec Python
[Python] Obtenez le nombre de vues de tous les articles publiés
Obtenez l'URL de la destination de la redirection HTTP en Python
Vers la retraite de Python2
Obtenez le nombre de chiffres
[Python] Récupérez le mois précédent
À propos des fonctionnalités de Python
Simulation du contenu du portefeuille
Le pouvoir des pandas: Python
Essayez d'obtenir la liste des fonctions du paquet Python> os
Obtenez votre fréquence cardiaque à partir de l'API fitbit en Python!
[Maya Python] Écraser le contenu du script 3 ~ Liste des plugins inconnus
Différent du type d'importation de python. Signification de depuis A import B
[Maya Python] Écraser le contenu du script 1 ~ Camera Speed Editor
Obtenez la version du package pour vous inscrire à PyPI à partir de Git
Obtenez le nombre d'éléments spécifiques dans la liste python
Obtenez la valeur tout en spécifiant la valeur par défaut de dict en Python