Pushed to master. It's supposed to provide a hint, e.g.
ERR: unchanged file mentioned in a ChangeLog (did you mean
"gcc/testsuite/gfortran.dg/goacc-gomp/free-1.f90"?):"gcc/testsuite/gfortran.dg/goacc-gomp/free-1.f"
Martin
contrib/ChangeLog:
* gcc-changelog/git_commit.py: Suggest close file for
'unchanged file mentioned in a ChangeLog' error.
* gcc-changelog/test_email.py: Test it.
---
contrib/gcc-changelog/git_commit.py | 4 ++++
contrib/gcc-changelog/test_email.py | 4 +++-
2 files changed, 7 insertions(+), 1 deletion(-)
diff --git a/contrib/gcc-changelog/git_commit.py
b/contrib/gcc-changelog/git_commit.py
index 57fba756d32..0c438165516 100755
--- a/contrib/gcc-changelog/git_commit.py
+++ b/contrib/gcc-changelog/git_commit.py
@@ -16,6 +16,7 @@
# along with GCC; see the file COPYING3. If not see
# <http://www.gnu.org/licenses/>. */
+import difflib
import os
import re
@@ -576,6 +577,9 @@ class GitCommit:
changed_files = set(cand)
for file in sorted(mentioned_files - changed_files):
msg = 'unchanged file mentioned in a ChangeLog'
+ candidates = difflib.get_close_matches(file, changed_files, 1)
+ if candidates:
+ msg += f' (did you mean "{candidates[0]}"?)'
self.errors.append(Error(msg, file))
for file in sorted(changed_files - mentioned_files):
if not self.in_ignored_location(file):
diff --git a/contrib/gcc-changelog/test_email.py
b/contrib/gcc-changelog/test_email.py
index 48ecc1ee6a6..8f5129edb12 100755
--- a/contrib/gcc-changelog/test_email.py
+++ b/contrib/gcc-changelog/test_email.py
@@ -113,7 +113,9 @@ class TestGccChangelog(unittest.TestCase):
email = self.from_patch_glob('0096')
assert email.errors
err = email.errors[0]
- assert err.message == 'unchanged file mentioned in a ChangeLog'
+ assert err.message == 'unchanged file mentioned in a ChangeLog (did ' \
+ 'you mean "gcc/testsuite/gcc.target/aarch64/' \
+ 'advsimd-intrinsics/vdot-3-1.c"?)'
assert err.line == 'gcc/testsuite/gcc.target/aarch64/' \
'advsimd-intrinsics/vdot-compile-3-1.c'
--
2.29.2