diff mbox series

commit-mklog: Add --co argument.

Message ID c8b476c8-015d-c4d6-41e3-38c1b68fa584@suse.cz
State New
Headers show
Series commit-mklog: Add --co argument. | expand

Commit Message

Martin Liška Aug. 17, 2021, 12:59 p.m. UTC
The argument can be used for addition of Co-Authored-By lines
with --trailer='Signed-off-by=Mona Lisa Octocat <mona@github.com>'.

Thoughts?
Thanks,
Martin

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.
---
  contrib/gcc-git-customization.sh | 2 +-
  contrib/git-commit-mklog.py      | 6 ++++++
  contrib/mklog.py                 | 8 +++++++-
  3 files changed, 14 insertions(+), 2 deletions(-)

Comments

Martin Liška Aug. 17, 2021, 1:09 p.m. UTC | #1
On 8/17/21 2:59 PM, Martin Liška wrote:
> with --trailer='Signed-off-by=Mona Lisa Octocat <mona@github.com>'.

This should be of course:
--trailer='Co-Authored-By=Mona Lisa Octocat <mona@github.com>'
Martin Liška Aug. 17, 2021, 1:34 p.m. UTC | #2
On 8/17/21 3:09 PM, Martin Liška wrote:
> On 8/17/21 2:59 PM, Martin Liška wrote:
>> with --trailer='Signed-off-by=Mona Lisa Octocat <mona@github.com>'.
> 
> This should be of course:
> --trailer='Co-Authored-By=Mona Lisa Octocat <mona@github.com>'

Update version where mklog.py skips Co-Authored-By ignoring case.

Martin
Martin Liška Aug. 18, 2021, 8:36 a.m. UTC | #3
On 8/17/21 3:34 PM, Martin Liška wrote:
> On 8/17/21 3:09 PM, Martin Liška wrote:
>> On 8/17/21 2:59 PM, Martin Liška wrote:
>>> with --trailer='Signed-off-by=Mona Lisa Octocat <mona@github.com>'.
>>
>> This should be of course:
>> --trailer='Co-Authored-By=Mona Lisa Octocat <mona@github.com>'
> 
> Update version where mklog.py skips Co-Authored-By ignoring case.
> 
> Martin

I've just pushed that to master.

Martin
diff mbox series

Patch

diff --git a/contrib/gcc-git-customization.sh b/contrib/gcc-git-customization.sh
index 6f8f23deebf..aca61b781ff 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 9c59fb97809..eda3fc4a892 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 d2aea85c7cc..8430f65a879 100755
--- a/contrib/mklog.py
+++ b/contrib/mklog.py
@@ -317,6 +317,12 @@  def update_copyright(data):
                  f.write(content)
  
  
+def skip_line_in_changelog(line):
+    if line.startswith('Co-Authored-By:') or line.startswith('#'):
+        return False
+    return True
+
+
  if __name__ == '__main__':
      parser = argparse.ArgumentParser(description=help_message)
      parser.add_argument('input', nargs='?',
@@ -350,7 +356,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]: