Allow ChangeLog entries for ignored location.
authorMartin Liska <mliska@suse.cz>
Tue, 26 May 2020 07:01:41 +0000 (09:01 +0200)
committerMartin Liska <mliska@suse.cz>
Tue, 26 May 2020 07:02:43 +0000 (09:02 +0200)
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
contrib/gcc-changelog/test_email.py
contrib/gcc-changelog/test_patches.txt

index 2cfdbc83d096441f818409e36d9ecc16379d61aa..edd8834b898c8cab26928d739735adc8ce08c7b4 100755 (executable)
@@ -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
index aa516c6e6d11cfb0f52710108f29d421f6f18e3e..bf028a3d40a4f82f45ea6a0060393a808aa3709a 100755 (executable)
@@ -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.')
index 58fd81c85c99a6b0dfdd2bd28a24a7090d4ea477..84d4b81d818571fd1c6d5370751226d4e141fbed 100644 (file)
@@ -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 <mliska@suse.cz>
+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
+