On 12/16/22 13:33, Tobias Burnus wrote:
> Thus, the auto-add feature does not seem to be an often used feature -
> neither on
> purpose nor accidentally. And glancing at the results, I think it was as
> often used
> on purpose as it was used accidentally.
Hello.
Understood, I do support the newly added warning with a small patch tweak.
>
> I was wondering whether the commit hook should print this warning/note or not.
I would print it.
> It can be helpful in case something too much got committed, but for the usual
> case that the file was missed, it simply comes too late. (Frankly, I don't
> know whether the hook currently runs with '-v' or not.)
Cheers,
Martin
diff --git a/contrib/gcc-changelog/git_commit.py b/contrib/gcc-changelog/git_commit.py
index b9a60312099..e82fbcacd3e 100755
--- a/contrib/gcc-changelog/git_commit.py
+++ b/contrib/gcc-changelog/git_commit.py
@@ -22,6 +22,7 @@ import difflib
import os
import re
import sys
+from collections import defaultdict
default_changelog_locations = {
'c++tools',
@@ -707,7 +708,7 @@ class GitCommit:
msg += f' (did you mean "{candidates[0]}"?)'
details = '\n'.join(difflib.Differ().compare([file], [candidates[0]])).rstrip()
self.errors.append(Error(msg, file, details))
- auto_add_warnings = {}
+ auto_add_warnings = defaultdict(list)
for file in sorted(changed_files - mentioned_files):
if not self.in_ignored_location(file):
if file in self.new_files:
@@ -740,10 +741,7 @@ class GitCommit:
file = file[len(entry.folder):].lstrip('/')
entry.lines.append('\t* %s: New file.' % file)
entry.files.append(file)
- if entry.folder not in auto_add_warnings:
- auto_add_warnings[entry.folder] = [file]
- else:
- auto_add_warnings[entry.folder].append(file)
+ auto_add_warnings[entry.folder].append(file)
else:
msg = 'new file in the top-level folder not mentioned in a ChangeLog'
self.errors.append(Error(msg, file))
@@ -763,11 +761,9 @@ class GitCommit:
self.errors.append(Error(error, pattern))
for entry, val in auto_add_warnings.items():
if len(val) == 1:
- self.warnings.append('Auto-added new file \'%s/%s\''
- % (entry, val[0]))
+ self.warnings.append(f"Auto-added new file '{entry}/{val[0]}'")
else:
- self.warnings.append('Auto-added %d new files in \'%s\''
- % (len(val), entry))
+ self.warnings.append(f"Auto-added {len(val)} new files in '{entry}'")
def check_for_correct_changelog(self):
for entry in self.changelog_entries: