Holen Sie sich den Inhalt von Git Diff aus Python

Hintergrund

Ich wollte nur Yaml Diff als String mit Git bekommen

Verwenden Sie Git aus Python

Es heißt Gitpython, also holen Sie sich Git-Informationen Mit pip eintreten

pip install gitpython

Klicken Sie hier für die Dokumentation https://pythonhosted.org/GitPython/0.3.1/reference.html

Ich könnte es so gebrauchen

diff.py


# coding: utf-8

import git
from . import PATH

"""
git diff HEAD HEAD^
Wann.Ich möchte nur den Unterschied der yaml-Datei als Zeichenkette nehmen
"""


class Diff(object):
    """KOPF und KOPF^Diff der Differenz von wird nur von Yaml subtrahiert"""

    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)
			# .Nur Dateien mit dem Namen 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

Holen Sie sich den Inhalt von Git Diff aus Python
[Python] Ruft den Gesetzestext aus der e-GOV-Gesetz-API ab
Holen Sie sich den Rückkehrcode eines Python-Skripts von bat
Existenz aus Sicht von Python
Notizen vom Anfang von Python 1 lernen
Starten Sie den Python-Interpreter über Git Bash
[Python] Ruft den Zeichencode der Datei ab
Notizen vom Anfang von Python 2 lernen
[Python] Holen Sie sich die Hauptfarbe aus dem Screenshot
[Python] Ruft das Aktualisierungsdatum eines Nachrichtenartikels aus HTML ab
Der Inhalt des Python-Tutorials (Kapitel 5) ist in einem Aufzählungszeichen zusammengefasst.
Der Inhalt des Python-Tutorials (Kapitel 4) ist in einem Aufzählungszeichen zusammengefasst.
[Python] Ruft die Skalenbezeichnung der Figur ab / bearbeitet sie
Der Inhalt des Python-Tutorials (Kapitel 2) ist in einem Aufzählungszeichen zusammengefasst.
[Python] Holen Sie sich die Hauptthemen von Yahoo News
Holen Sie sich den Aufrufer einer Funktion in Python
Der Inhalt des Python-Tutorials (Kapitel 8) ist in einem Aufzählungszeichen zusammengefasst.
Der Inhalt des Python-Tutorials (Kapitel 1) ist in einem Aufzählungszeichen zusammengefasst.
der Zen von Python
Der Inhalt des Python-Tutorials (Kapitel 10) ist in einem Aufzählungszeichen zusammengefasst.
[Python] Ruft das Datum der letzten Aktualisierung der Website ab
[Python3] Ermittelt die Datumsdifferenz
Der Inhalt des Python-Tutorials (Kapitel 6) ist in einem Aufzählungszeichen zusammengefasst.
Der Inhalt des Python-Tutorials (Kapitel 3) ist in einem Aufzählungszeichen zusammengefasst.
[Python] Holen Sie sich den Tag (Englisch & Japanisch)
Rufen Sie das Aktualisierungsdatum der Python-Memorandum-Datei ab.
Die Wand beim Ändern des Django-Dienstes von Python 2.7 auf Python 3-Serie
Vorlage des Python-Skripts zum Lesen des Inhalts der Datei
So ermitteln Sie die Anzahl der Stellen in Python
Lerne Nim mit Python (ab Anfang des Jahres).
[Python] Ruft den offiziellen Dateipfad der Verknüpfungsdatei ab (.lnk)
[Python] Ruft die Liste der im Modul definierten Klassen ab
Studie vom Anfang von Python Hour1: Hallo Welt
Python zeigt aus der Perspektive eines C-Sprachprogrammierers
Ermitteln Sie die Größe (Anzahl der Elemente) von Union Find in Python
Den Inhalt der Daten in Python nicht kennen
Versuchen Sie, den Inhalt von Word mit Golang zu erhalten
[Python] Ruft die Liste der ExifTags-Namen der Pillow-Bibliothek ab
[Maya Python] Crush den Inhalt des Skripts 2 ~ Liste Notizen
Studie aus Python Hour8: Verwenden von Paketen
Holen Sie sich mit Python den Betriebsstatus von JR West
[Python] Ermittelt die Anzahl der Aufrufe aller veröffentlichten Artikel
Rufen Sie die URL des HTTP-Umleitungsziels in Python ab
Auf dem Weg zum Ruhestand von Python2
Holen Sie sich die Anzahl der Ziffern
[Python] Holen Sie sich den Vormonat
Über die Funktionen von Python
Simulation des Inhalts der Brieftasche
Die Kraft der Pandas: Python
Versuchen Sie, die Funktionsliste des Python> os-Pakets abzurufen
Holen Sie sich Ihre Herzfrequenz von der Fitbit-API in Python!
[Maya Python] Crush den Inhalt des Skripts 3 ~ Liste unbekannter Plugins
Anders als der Importtyp von Python. Bedeutung von aus A Import B.
[Maya Python] Zerquetsche den Inhalt des Skripts 1 ~ Camera Speed Editor
Holen Sie sich die Paketversion, um sich bei PyPI von Git zu registrieren
Holen Sie sich die Anzahl der spezifischen Elemente in der Python-Liste
Rufen Sie den Wert ab, während Sie den Standardwert aus dict in Python angeben