diff options
-rwxr-xr-x | contrib/gcc-changelog/git_commit.py | 2 | ||||
-rwxr-xr-x | contrib/gcc-changelog/test_email.py | 14 |
2 files changed, 15 insertions, 1 deletions
diff --git a/contrib/gcc-changelog/git_commit.py b/contrib/gcc-changelog/git_commit.py index eac6488..e868e02 100755 --- a/contrib/gcc-changelog/git_commit.py +++ b/contrib/gcc-changelog/git_commit.py @@ -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 diff --git a/contrib/gcc-changelog/test_email.py b/contrib/gcc-changelog/test_email.py index c50687b..a185b85 100755 --- a/contrib/gcc-changelog/test_email.py +++ b/contrib/gcc-changelog/test_email.py @@ -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') |