gcc-changelog: fix parse_git_name_status for renames.
Renamed files are listed in the following format: M gcc/ada/Makefile.rtl M gcc/ada/impunit.adb R097 gcc/ada/libgnat/s-atopar.adb gcc/ada/libgnat/s-aoinar.adb R095 gcc/ada/libgnat/s-atopar.ads gcc/ada/libgnat/s-aoinar.ads A gcc/ada/libgnat/s-aomoar.adb A gcc/ada/libgnat/s-aomoar.ads So 'R' is followed by a percentage number. contrib/ChangeLog: * gcc-changelog/git_commit.py: Fix renamed files in parse_git_name_status. * gcc-changelog/test_email.py: Add test for it.
This commit is contained in:
parent
4fed5d5dd8
commit
50ff02b534
@ -322,7 +322,7 @@ class GitCommit:
|
||||
t = parts[0]
|
||||
if t == 'A' or t == 'D' or t == 'M':
|
||||
modified_files.append((parts[1], t))
|
||||
elif t == 'R':
|
||||
elif t.startswith('R'):
|
||||
modified_files.append((parts[1], 'D'))
|
||||
modified_files.append((parts[2], 'A'))
|
||||
return modified_files
|
||||
|
||||
@ -20,6 +20,8 @@ import os
|
||||
import tempfile
|
||||
import unittest
|
||||
|
||||
from git_commit import GitCommit
|
||||
|
||||
from git_email import GitEmail
|
||||
|
||||
import unidiff
|
||||
@ -29,6 +31,12 @@ script_path = os.path.dirname(os.path.realpath(__file__))
|
||||
unidiff_supports_renaming = hasattr(unidiff.PatchedFile(), 'is_rename')
|
||||
|
||||
|
||||
NAME_STATUS1 = """
|
||||
M gcc/ada/impunit.adb'
|
||||
R097 gcc/ada/libgnat/s-atopar.adb gcc/ada/libgnat/s-aoinar.adb
|
||||
"""
|
||||
|
||||
|
||||
class TestGccChangelog(unittest.TestCase):
|
||||
def setUp(self):
|
||||
self.patches = {}
|
||||
@ -337,3 +345,9 @@ class TestGccChangelog(unittest.TestCase):
|
||||
email = self.from_patch_glob('0001-configure.patch')
|
||||
assert not email.errors
|
||||
assert len(email.changelog_entries) == 2
|
||||
|
||||
def test_parse_git_name_status(self):
|
||||
modified_files = GitCommit.parse_git_name_status(NAME_STATUS1)
|
||||
assert len(modified_files) == 3
|
||||
assert modified_files[1] == ('gcc/ada/libgnat/s-atopar.adb', 'D')
|
||||
assert modified_files[2] == ('gcc/ada/libgnat/s-aoinar.adb', 'A')
|
||||
|
||||
Loading…
Reference in New Issue
Block a user