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:

Reply via email to