diff options
author | Martin Liska <mliska@suse.cz> | 2021-08-17 14:57:40 +0200 |
---|---|---|
committer | Martin Liska <mliska@suse.cz> | 2021-08-18 10:36:35 +0200 |
commit | 0684c8d3effab2c9c1b29938f5e56c77106af564 (patch) | |
tree | abf1088f6a04e30c0d637a3eecccf019871fc1ca /contrib | |
parent | 1bf976a5de69ecd9b1e10eb7515357b98e78faf7 (diff) | |
download | gcc-0684c8d3effab2c9c1b29938f5e56c77106af564.zip gcc-0684c8d3effab2c9c1b29938f5e56c77106af564.tar.gz gcc-0684c8d3effab2c9c1b29938f5e56c77106af564.tar.bz2 |
commit-mklog: Add --co argument.
The argument can be used for addition of Co-Authored-By lines
with --trailer='Co-Authored-By=Mona Lisa Octocat <mona@github.com>'.
contrib/ChangeLog:
* gcc-git-customization.sh: Wrap $@ in quotes.
* git-commit-mklog.py: Add new argument --co.
* mklog.py: Skip the Co-Authored-By lines.
Diffstat (limited to 'contrib')
-rwxr-xr-x | contrib/gcc-git-customization.sh | 2 | ||||
-rwxr-xr-x | contrib/git-commit-mklog.py | 6 | ||||
-rwxr-xr-x | contrib/mklog.py | 9 |
3 files changed, 15 insertions, 2 deletions
diff --git a/contrib/gcc-git-customization.sh b/contrib/gcc-git-customization.sh index 6f8f23d..aca61b7 100755 --- a/contrib/gcc-git-customization.sh +++ b/contrib/gcc-git-customization.sh @@ -28,7 +28,7 @@ git config alias.gcc-undescr \!"f() { o=\$(git config --get gcc-config.upstream) git config alias.gcc-verify '!f() { "`git rev-parse --show-toplevel`/contrib/gcc-changelog/git_check_commit.py" $@; } ; f' git config alias.gcc-backport '!f() { "`git rev-parse --show-toplevel`/contrib/git-backport.py" $@; } ; f' git config alias.gcc-mklog '!f() { "`git rev-parse --show-toplevel`/contrib/mklog.py" $@; } ; f' -git config alias.gcc-commit-mklog '!f() { "`git rev-parse --show-toplevel`/contrib/git-commit-mklog.py" $@; }; f' +git config alias.gcc-commit-mklog '!f() { "`git rev-parse --show-toplevel`/contrib/git-commit-mklog.py" "$@"; }; f' # Make diff on MD files use "(define" as a function marker. # Use this in conjunction with a .gitattributes file containing diff --git a/contrib/git-commit-mklog.py b/contrib/git-commit-mklog.py index 9c59fb9..eda3fc4 100755 --- a/contrib/git-commit-mklog.py +++ b/contrib/git-commit-mklog.py @@ -37,6 +37,8 @@ if __name__ == '__main__': help='Add the specified PRs (comma separated)') parser.add_argument('-p', '--fill-up-bug-titles', action='store_true', help='Download title of mentioned PRs') + parser.add_argument('--co', + help='Add Co-Authored-By trailer (comma separated)') args, unknown_args = parser.parse_known_args() myenv['GCC_FORCE_MKLOG'] = '1' @@ -49,5 +51,9 @@ if __name__ == '__main__': if mklog_args: myenv['GCC_MKLOG_ARGS'] = ' '.join(mklog_args) + if args.co: + for author in args.co.split(','): + unknown_args.append(f'--trailer "Co-Authored-By: {author}"') + commit_args = ' '.join(unknown_args) subprocess.run(f'git commit {commit_args}', shell=True, env=myenv) diff --git a/contrib/mklog.py b/contrib/mklog.py index d2aea85..d362be5 100755 --- a/contrib/mklog.py +++ b/contrib/mklog.py @@ -40,6 +40,7 @@ from unidiff import PatchSet LINE_LIMIT = 100 TAB_WIDTH = 8 +CO_AUTHORED_BY_PREFIX = 'co-authored-by: ' pr_regex = re.compile(r'(\/(\/|\*)|[Cc*!])\s+(?P<pr>PR [a-z+-]+\/[0-9]+)') prnum_regex = re.compile(r'PR (?P<comp>[a-z+-]+)/(?P<num>[0-9]+)') @@ -317,6 +318,12 @@ def update_copyright(data): f.write(content) +def skip_line_in_changelog(line): + if line.lower().startswith(CO_AUTHORED_BY_PREFIX) or line.startswith('#'): + return False + return True + + if __name__ == '__main__': parser = argparse.ArgumentParser(description=help_message) parser.add_argument('input', nargs='?', @@ -350,7 +357,7 @@ if __name__ == '__main__': args.fill_up_bug_titles, args.pr_numbers) if args.changelog: lines = open(args.changelog).read().split('\n') - start = list(takewhile(lambda l: not l.startswith('#'), lines)) + start = list(takewhile(skip_line_in_changelog, lines)) end = lines[len(start):] with open(args.changelog, 'w') as f: if not start or not start[0]: |