From 7f039db6d4ab51b601a28e0487e827a3d715d5e2 Mon Sep 17 00:00:00 2001 From: sharks Date: Mon, 19 Mar 2018 16:25:33 -0500 Subject: [PATCH 1/2] support new lines --- bumpversion/__init__.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/bumpversion/__init__.py b/bumpversion/__init__.py index a4af337..96e93bf 100644 --- a/bumpversion/__init__.py +++ b/bumpversion/__init__.py @@ -678,7 +678,7 @@ def main(original_args=None): filename = section_value if 'serialize' in section_config: - section_config['serialize'] = list(filter(None, (x.strip() for x in section_config['serialize'].splitlines()))) + section_config['serialize'] = list(filter(None, (x.strip().replace("\\n", "\n") for x in section_config['serialize'].splitlines()))) section_config['part_configs'] = part_configs From f89cb22e2227ce612ebbdaefb6248f1ff1ac5801 Mon Sep 17 00:00:00 2001 From: sharks Date: Tue, 20 Mar 2018 18:43:46 -0500 Subject: [PATCH 2/2] Add test case for serialize new line --- tests/test_cli.py | 13 +++++++++++++ 1 file changed, 13 insertions(+) diff --git a/tests/test_cli.py b/tests/test_cli.py index 7067472..e52457a 100644 --- a/tests/test_cli.py +++ b/tests/test_cli.py @@ -898,6 +898,19 @@ def test_non_vcs_operations_if_vcs_is_not_installed(tmpdir, vcs, monkeypatch): assert '32.0.0' == tmpdir.join("VERSION").read() +def test_serialize_newline(tmpdir): + tmpdir.join("filenewline").write("MAJOR=31\nMINOR=0\nPATCH=3\n") + tmpdir.chdir() + main([ + '--current-version', 'MAJOR=31\nMINOR=0\nPATCH=3\n', + '--parse', 'MAJOR=(?P\d+)\\nMINOR=(?P\d+)\\nPATCH=(?P\d+)\\n', + '--serialize', 'MAJOR={major}\nMINOR={minor}\nPATCH={patch}\n', + '--verbose', + 'major', + 'filenewline' + ]) + assert 'MAJOR=32\nMINOR=0\nPATCH=0\n' == tmpdir.join("filenewline").read() + def test_multiple_serialize_threepart(tmpdir): tmpdir.join("fileA").write("Version: 0.9") tmpdir.chdir()