From: Martin Liska Date: Mon, 30 Nov 2020 16:19:41 +0000 (+0100) Subject: changelog: add hint for a file mismatch X-Git-Url: https://git.libre-soc.org/?a=commitdiff_plain;h=57cbb7acdbcb83b827f8e241568559f0c54e8af6;p=gcc.git changelog: add hint for a file mismatch 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. --- 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'