mirror of
git://gcc.gnu.org/git/gcc.git
synced 2024-11-29 05:20:08 +08:00
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.
This commit is contained in:
parent
1bf976a5de
commit
0684c8d3ef
@ -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
|
||||
|
@ -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)
|
||||
|
@ -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]:
|
||||
|
Loading…
Reference in New Issue
Block a user