diff --git a/git/objects/commit.py b/git/objects/commit.py index 8c51254a2..71cc70bec 100644 --- a/git/objects/commit.py +++ b/git/objects/commit.py @@ -196,6 +196,13 @@ def __init__( if gpgsig is not None: self.gpgsig = gpgsig + @property + def patch(self) -> str: + """Textual patch comparing this commit against its first parent.""" + if not self.parents: + return self.repo.git.diff_tree(self.hexsha, root=True, p=True) + return self.repo.git.diff("%s..%s" % (self.parents[0].hexsha, self.hexsha), p=True) + @classmethod def _get_intermediate_items(cls, commit: "Commit") -> Tuple["Commit", ...]: return tuple(commit.parents)