-
|
This is command-line syntax to get patch-id for a commit git show HEAD | git patch-id
Reference: https://git-scm.com/docs/git-patch-id Q: How can I get the same output using GitPython? |
Beta Was this translation helpful? Give feedback.
-
|
You would have to use repo.patch_id() directly and add options to receive the running process, through which one then can pass the commit to generate a patch-id for. It's cumbersome, and probably easier just to Popen to run git directly. |
Beta Was this translation helpful? Give feedback.
-
|
I got it to work with this: def get_patch_id(commit: str) -> str:
"""
Get patch-id of a commit.
a patch id is a unique ID for a patch (git show)
ref: https://git-scm.com/docs/git-patch-id
"""
with Repo(repo_path) as repo:
with tempfile.TemporaryFile() as temp_file:
# output_stream = BytesIO()
repo.git.show(commit, output_stream=temp_file)
temp_file.seek(0)
return repo.git.patch_id(istream=temp_file).split()[0]
|
Beta Was this translation helpful? Give feedback.
I got it to work with this: