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 # . */ +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'