]> gcc.gnu.org Git - gcc.git/commitdiff
gcc-changelog: allow ChangeLog deletion in a commit
authorMartin Liska <mliska@suse.cz>
Fri, 12 Mar 2021 08:08:36 +0000 (09:08 +0100)
committerMartin Liska <mliska@suse.cz>
Fri, 12 Mar 2021 08:29:05 +0000 (09:29 +0100)
contrib/ChangeLog:

* gcc-changelog/git_commit.py: Allow deletion of ChangeLog
files.
* gcc-changelog/setup.cfg: Set line limit to 120 characters.
* gcc-changelog/test_email.py: Add test.
* gcc-changelog/test_patches.txt: Likewise.
* gcc-changelog/git_email.py: Fix parsing of deleted files.

contrib/gcc-changelog/git_commit.py
contrib/gcc-changelog/git_email.py
contrib/gcc-changelog/setup.cfg
contrib/gcc-changelog/test_email.py
contrib/gcc-changelog/test_patches.txt

index e9dae0a838de5f6080e5f1cb608dcc50247c3f80..43fa7f40e4edf3880e72ceafc792fdf9f509de5b 100755 (executable)
@@ -314,8 +314,9 @@ class GitCommit:
         if self.revert_commit:
             self.info = self.commit_to_info_hook(self.revert_commit)
 
+        # Allow complete deletion of ChangeLog files in a commit
         project_files = [f for f in self.info.modified_files
-                         if self.is_changelog_filename(f[0], allow_suffix=True)
+                         if (self.is_changelog_filename(f[0], allow_suffix=True) and f[1] != 'D')
                          or f[0] in misc_files]
         ignored_files = [f for f in self.info.modified_files
                          if self.in_ignored_location(f[0])]
index 00ad00458f407758b6b42bc9e642974f6e8e997e..b0547b363aa30c61173998d993330cf38b10be39 100755 (executable)
@@ -66,7 +66,7 @@ class GitEmail(GitCommit):
                 t = 'A'
             else:
                 t = 'M'
-            modified_files.append((target, t))
+            modified_files.append((target if t != 'D' else source, t))
         git_info = GitInfo(None, date, author, body, modified_files)
         super().__init__(git_info, strict=strict,
                          commit_to_info_hook=lambda x: None)
index 9e4a0f6479cc235042426db34e5a9210076a4764..efc313f6d526e31412bdf993347da88105ebadbb 100644 (file)
@@ -1,2 +1,5 @@
+[flake8]
+max-line-length = 120
+
 [tool:pytest]
 addopts = -vv --flake8
index b81548f2033d8e2424edc365754a967d50985ddb..9d052e06467e45aa3fa5fdda2816f9d6c94101bc 100755 (executable)
@@ -416,3 +416,7 @@ class TestGccChangelog(unittest.TestCase):
     def test_multiline_bad_parentheses(self):
         email = self.from_patch_glob('0002-Wrong-macro-changelog.patch')
         assert email.errors[0].message == 'bad parentheses wrapping'
+
+    def test_changelog_removal(self):
+        email = self.from_patch_glob('0001-ChangeLog-removal.patch', strict=True)
+        assert not email.errors
index 9de2897255640707833b5ce62cf286f288c9e69a..012573b48453ad3c40bf64a19d8489a1acef9d6f 100644 (file)
@@ -3481,3 +3481,33 @@ index ac63591b33f..ff4d61764e7 100644
 +
 -- 
 2.29.2
+
+=== 0001-ChangeLog-removal.patch ===
+From b39fadf9df1a9510afcab0a391182da7dc68de24 Mon Sep 17 00:00:00 2001
+From: Martin Liska <mliska@suse.cz>
+Date: Fri, 12 Mar 2021 09:10:55 +0100
+Subject: [PATCH] Test ChangeLog removal.
+
+gcc/ChangeLog:
+
+       * ipa-icf.c (make_pass_ipa_icf): Add line.
+---
+diff --git a/gcc/analyzer/ChangeLog b/gcc/analyzer/ChangeLog
+deleted file mode 100644
+index 94e87f6bcde..00000000000
+--- a/gcc/analyzer/ChangeLog
++++ /dev/null
+@@ -1,1 +0,0 @@
+- foo
+diff --git a/gcc/ipa-icf.c b/gcc/ipa-icf.c
+index 5dd33a75c3a..c4ce432cb98 100644
+--- a/gcc/ipa-icf.c
++++ b/gcc/ipa-icf.c
+@@ -3655,3 +3655,4 @@ make_pass_ipa_icf (gcc::context *ctxt)
+ {
+   return new ipa_icf::pass_ipa_icf (ctxt);
+ }
++
+-- 
+2.30.1
+
This page took 0.073088 seconds and 5 git commands to generate.