-
-
Notifications
You must be signed in to change notification settings - Fork 970
Add trailer support for commit creation #2116
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Changes from 1 commit
File filter
Filter by extension
Conversations
Jump to
Diff view
Diff view
There are no files selected for viewing
| Original file line number | Diff line number | Diff line change | ||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
|
|
@@ -570,6 +570,7 @@ def create_from_tree( | |||||||||||||
| committer: Union[None, Actor] = None, | ||||||||||||||
| author_date: Union[None, str, datetime.datetime] = None, | ||||||||||||||
| commit_date: Union[None, str, datetime.datetime] = None, | ||||||||||||||
| trailers: Union[None, Dict[str, str], List[Tuple[str, str]]] = None, | ||||||||||||||
| ) -> "Commit": | ||||||||||||||
| """Commit the given tree, creating a :class:`Commit` object. | ||||||||||||||
|
|
||||||||||||||
|
|
@@ -609,6 +610,14 @@ def create_from_tree( | |||||||||||||
| :param commit_date: | ||||||||||||||
| The timestamp for the committer field. | ||||||||||||||
|
|
||||||||||||||
| :param trailers: | ||||||||||||||
| Optional trailer key-value pairs to append to the commit message. | ||||||||||||||
| Can be a dictionary mapping trailer keys to values, or a list of | ||||||||||||||
| ``(key, value)`` tuples (useful when the same key appears multiple | ||||||||||||||
| times, e.g. multiple ``Signed-off-by`` trailers). Trailers are | ||||||||||||||
| appended using ``git interpret-trailers``. | ||||||||||||||
| See :manpage:`git-interpret-trailers(1)`. | ||||||||||||||
|
|
||||||||||||||
| :return: | ||||||||||||||
| :class:`Commit` object representing the new commit. | ||||||||||||||
|
|
||||||||||||||
|
|
@@ -678,6 +687,27 @@ def create_from_tree( | |||||||||||||
| tree = repo.tree(tree) | ||||||||||||||
| # END tree conversion | ||||||||||||||
|
|
||||||||||||||
| # APPLY TRAILERS | ||||||||||||||
| if trailers: | ||||||||||||||
| trailer_args: List[str] = [] | ||||||||||||||
| if isinstance(trailers, dict): | ||||||||||||||
| for key, val in trailers.items(): | ||||||||||||||
| trailer_args.append("--trailer") | ||||||||||||||
| trailer_args.append(f"{key}: {val}") | ||||||||||||||
| else: | ||||||||||||||
| for key, val in trailers: | ||||||||||||||
| trailer_args.append("--trailer") | ||||||||||||||
| trailer_args.append(f"{key}: {val}") | ||||||||||||||
|
|
||||||||||||||
| cmd = ["git", "interpret-trailers"] + trailer_args | ||||||||||||||
| proc: Git.AutoInterrupt = repo.git.execute( # type: ignore[call-overload] | ||||||||||||||
| cmd, | ||||||||||||||
|
Comment on lines
+702
to
+704
|
||||||||||||||
| cmd = [repo.git.GIT_PYTHON_GIT_EXECUTABLE, "interpret-trailers"] + trailer_args | |
| proc: Git.AutoInterrupt = repo.git.execute( # type: ignore[call-overload] | |
| cmd, | |
| proc: Git.AutoInterrupt = repo.git._call_process( # type: ignore[attr-defined] | |
| "interpret-trailers", | |
| *trailer_args, |
Uh oh!
There was an error while loading. Please reload this page.