mirror of git://gcc.gnu.org/git/gcc.git
Allow ChangeLog entries for ignored location.
We should be able to generate ChangeLog entries for
commits like b3d566f570
.
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.
This commit is contained in:
parent
b3d566f570
commit
4945b4c2c8
|
@ -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
|
||||
|
|
|
@ -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.')
|
||||
|
|
|
@ -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
|
||||
|
||||
|
|
Loading…
Reference in New Issue