Hello Lehua, On Wed, Jul 12 2023, Lehua Ding wrote: > Hi, > > This tiny patch add --append option to mklog.py that support add generated > ChangeLog to the corresponding patch file. With this option there is no need > to manually copy the generated ChangeLog to the patch file. e.g.: > > Run `mklog.py -a /path/to/this/patch` will add the generated ChangeLog > > ``` > contrib/ChangeLog: > > * mklog.py: > ```
this patch caused flake8 to complain about contrib/mklog.py: $ flake8 contrib/mklog.py contrib/mklog.py:377:80: E501 line too long (85 > 79 characters) contrib/mklog.py:388:26: E127 continuation line over-indented for visual indent contrib/mklog.py:388:36: W605 invalid escape sequence '\s' contrib/mklog.py:388:40: W605 invalid escape sequence '\s' contrib/mklog.py:388:44: W605 invalid escape sequence '\s' contrib/mklog.py:388:47: W605 invalid escape sequence '\|' contrib/mklog.py:388:49: W605 invalid escape sequence '\s' contrib/mklog.py:388:51: W605 invalid escape sequence '\d' contrib/mklog.py:388:54: W605 invalid escape sequence '\s' contrib/mklog.py:388:58: W605 invalid escape sequence '\-' Can you please have a look and ideally fix the issues? Thanks, Martin > > to the right place of the /path/to/this/patch file. > > Best, > Lehua > > contrib/ChangeLog: > > * mklog.py: Add --append option. > > --- > contrib/mklog.py | 27 ++++++++++++++++++++++++++- > 1 file changed, 26 insertions(+), 1 deletion(-) > > diff --git a/contrib/mklog.py b/contrib/mklog.py > index 777212c98d7..26230b9b4f2 100755 > --- a/contrib/mklog.py > +++ b/contrib/mklog.py > @@ -358,6 +358,8 @@ if __name__ == '__main__': > 'file') > parser.add_argument('--update-copyright', action='store_true', > help='Update copyright in ChangeLog files') > + parser.add_argument('-a', '--append', action='store_true', > + help='Append the generate ChangeLog to the patch > file') > args = parser.parse_args() > if args.input == '-': > args.input = None > @@ -370,7 +372,30 @@ if __name__ == '__main__': > else: > output = generate_changelog(data, args.no_functions, > args.fill_up_bug_titles, args.pr_numbers) > - if args.changelog: > + if args.append: > + if (not args.input): > + raise Exception("`-a or --append` option not support > standard input") > + lines = [] > + with open(args.input, 'r', newline='\n') as f: > + # 1 -> not find the possible start of diff log > + # 2 -> find the possible start of diff log > + # 3 -> finish add ChangeLog to the patch file > + maybe_diff_log = 1 > + for line in f: > + if maybe_diff_log == 1 and line == "---\n": > + maybe_diff_log = 2 > + elif maybe_diff_log == 2 and \ > + re.match("\s[^\s]+\s+\|\s\d+\s[+\-]+\n", line): > + lines += [output, "---\n", line] > + maybe_diff_log = 3 > + else: > + # the possible start is not the true start. > + if maybe_diff_log == 2: > + maybe_diff_log = 1 > + lines.append(line) > + with open(args.input, "w") as f: > + f.writelines(lines) > + elif args.changelog: > lines = open(args.changelog).read().split('\n') > start = list(takewhile(skip_line_in_changelog, lines)) > end = lines[len(start):] > -- > 2.36.1