3 # Copyright (C) 2020-2024 Free Software Foundation, Inc.
5 # This file is part of GCC.
7 # GCC is free software; you can redistribute it and/or modify
8 # it under the terms of the GNU General Public License as published by
9 # the Free Software Foundation; either version 3, or (at your option)
12 # GCC is distributed in the hope that it will be useful,
13 # but WITHOUT ANY WARRANTY; without even the implied warranty of
14 # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
15 # GNU General Public License for more details.
17 # You should have received a copy of the GNU General Public License
18 # along with GCC; see the file COPYING. If not, write to
19 # the Free Software Foundation, 51 Franklin Street, Fifth Floor,
20 # Boston, MA 02110-1301, USA.
22 # The script is wrapper for git commit-mklog alias where it parses
23 # -b/--pr-numbers argument and passes it via environment variable
31 if __name__
== '__main__':
33 myenv
= os
.environ
.copy()
35 parser
= argparse
.ArgumentParser(description
='git-commit-mklog wrapped')
36 parser
.add_argument('-b', '--pr-numbers',
37 help='Add the specified PRs (comma separated)')
38 parser
.add_argument('-p', '--fill-up-bug-titles', action
='store_true',
39 help='Download title of mentioned PRs')
40 parser
.add_argument('--co',
41 help='Add Co-Authored-By trailer (comma separated)')
42 args
, unknown_args
= parser
.parse_known_args()
44 myenv
['GCC_FORCE_MKLOG'] = '1'
47 mklog_args
+= ['-b', args
.pr_numbers
]
48 if args
.fill_up_bug_titles
:
49 mklog_args
.append('-p')
52 # wrap mklog arguments with JSON
53 myenv
['GCC_MKLOG_ARGS'] = json
.dumps(mklog_args
)
56 for author
in args
.co
.split(','):
57 unknown_args
.append(f
'--trailer "Co-Authored-By: {author}"')
59 commit_args
= ' '.join(unknown_args
)
60 subprocess
.run(f
'git commit {commit_args}', shell
=True, env
=myenv
)