From 4945b4c2c8628bdd61b348ea5bd1f9b72537a36e Mon Sep 17 00:00:00 2001 From: Martin Liska Date: Tue, 26 May 2020 09:01:41 +0200 Subject: [PATCH] Allow ChangeLog entries for ignored location. We should be able to generate ChangeLog entries for commits like b3d566f570f4416299240b51654b70c74f6cba6a. I'm going to install the patch. contrib/ChangeLog: * gcc-changelog/git_commit.py: Parse changelog entries for ignored locations. * gcc-changelog/test_email.py: Add new test for it. * gcc-changelog/test_patches.txt: Likewise. --- contrib/gcc-changelog/git_commit.py | 16 +++++++++----- contrib/gcc-changelog/test_email.py | 5 +++++ contrib/gcc-changelog/test_patches.txt | 40 ++++++++++++++++++++++++++++++++++ 3 files changed, 55 insertions(+), 6 deletions(-) diff --git a/contrib/gcc-changelog/git_commit.py b/contrib/gcc-changelog/git_commit.py index 2cfdbc8..edd8834 100755 --- a/contrib/gcc-changelog/git_commit.py +++ b/contrib/gcc-changelog/git_commit.py @@ -233,8 +233,9 @@ class GitCommit: project_files = [f for f in self.modified_files if self.is_changelog_filename(f[0]) - or f[0] in misc_files - or self.in_ignored_location(f[0])] + or f[0] in misc_files] + ignored_files = [f for f in self.modified_files + if self.in_ignored_location(f[0])] if len(project_files) == len(self.modified_files): # All modified files are only MISC files return @@ -244,7 +245,9 @@ class GitCommit: 'separately from normal commits')) return - self.parse_lines() + all_are_ignored = (len(project_files) + len(ignored_files) + == len(self.modified_files)) + self.parse_lines(all_are_ignored) if self.changes: self.parse_changelog() self.deduce_changelog_locations() @@ -292,7 +295,7 @@ class GitCommit: modified_files.append((parts[2], 'A')) return modified_files - def parse_lines(self): + def parse_lines(self, all_are_ignored): body = self.lines for i, b in enumerate(body): @@ -303,8 +306,9 @@ class GitCommit: or dr_regex.match(b) or author_line_regex.match(b)): self.changes = body[i:] return - self.errors.append(Error('cannot find a ChangeLog location in ' - 'message')) + if not all_are_ignored: + self.errors.append(Error('cannot find a ChangeLog location in ' + 'message')) def parse_changelog(self): last_entry = None diff --git a/contrib/gcc-changelog/test_email.py b/contrib/gcc-changelog/test_email.py index aa516c6..bf028a3 100755 --- a/contrib/gcc-changelog/test_email.py +++ b/contrib/gcc-changelog/test_email.py @@ -280,3 +280,8 @@ class TestGccChangelog(unittest.TestCase): def test_changes_only_in_ignored_location(self): email = self.from_patch_glob('0001-go-in-ignored-location.patch') assert not email.errors + + def test_changelog_for_ignored_location(self): + email = self.from_patch_glob('0001-Update-merge.sh-to-reflect.patch') + assert (email.changelog_entries[0].lines[0] + == '\t* LOCAL_PATCHES: Use git hash instead of SVN id.') diff --git a/contrib/gcc-changelog/test_patches.txt b/contrib/gcc-changelog/test_patches.txt index 58fd81c..84d4b81 100644 --- a/contrib/gcc-changelog/test_patches.txt +++ b/contrib/gcc-changelog/test_patches.txt @@ -2611,3 +2611,43 @@ index 00000000000..2609cc49ae7 -- 2.27.0.rc0.183.gde8f92d652-goog +=== 0001-Update-merge.sh-to-reflect.patch === +From b3d566f570f4416299240b51654b70c74f6cba6a Mon Sep 17 00:00:00 2001 +From: Martin Liska +Date: Mon, 25 May 2020 20:55:29 +0200 +Subject: [PATCH] Update merge.sh to reflect usage of git. + +After switching to GIT, we should use it in libsanitizer +merge script. I'll do merge from master as soon as +PR95311 gets fixed. + +I'm going to install the patch. + +libsanitizer/ChangeLog: + + * LOCAL_PATCHES: Use git hash instead of SVN id. + * merge.sh: Use git instead of VCS. Update paths + relative to upstream git repository. +--- + libsanitizer/LOCAL_PATCHES | 2 +- + libsanitizer/merge.sh | 10 ++++------ + 2 files changed, 5 insertions(+), 7 deletions(-) + +diff --git a/libsanitizer/LOCAL_PATCHES b/libsanitizer/LOCAL_PATCHES +index 292b7a6e489..7732de3d436 100644 +--- a/libsanitizer/LOCAL_PATCHES ++++ b/libsanitizer/LOCAL_PATCHES +@@ -1 +1,2 @@ + ++ +diff --git a/libsanitizer/merge.sh b/libsanitizer/merge.sh +index dfa7bf3d196..3f4f1629a22 100755 +--- a/libsanitizer/merge.sh ++++ b/libsanitizer/merge.sh +@@ -1 +1,2 @@ + ++ + +-- +2.26.2 + -- 2.7.4