Je voulais obtenir uniquement yaml diff sous forme de chaîne avec git
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