From 0bd8d8373b8b9bd383dcef4d54c59e8044e2edc6 Mon Sep 17 00:00:00 2001 From: Carl Mai Date: Fri, 7 Aug 2020 12:42:56 +0000 Subject: [PATCH] also allow recursive glob with ** --- bumpversion/cli.py | 2 +- tests/test_cli.py | 16 ++++++++++++++++ 2 files changed, 17 insertions(+), 1 deletion(-) diff --git a/bumpversion/cli.py b/bumpversion/cli.py index a903f3e..8825adf 100644 --- a/bumpversion/cli.py +++ b/bumpversion/cli.py @@ -356,7 +356,7 @@ def _load_configuration(config_file, explicit_config, defaults): version_config = VersionConfig(**section_config) if section_type.get("file") == "glob": - for filename_glob in glob.glob(filename): + for filename_glob in glob.glob(filename, recursive=True): files.append(ConfiguredFile(filename_glob, version_config)) else: files.append(ConfiguredFile(filename, version_config)) diff --git a/tests/test_cli.py b/tests/test_cli.py index a99f128..8a33b0d 100644 --- a/tests/test_cli.py +++ b/tests/test_cli.py @@ -305,6 +305,22 @@ def test_glob_keyword(tmpdir, configfile): assert "0.9.35" == tmpdir.join("file1.txt").read() assert "0.9.35" == tmpdir.join("file2.txt").read() +def test_glob_keyword_recursive(tmpdir, configfile): + tmpdir.mkdir("subdir").mkdir("subdir2") + file1 = tmpdir.join("subdir").join("file1.txt") + file1.write("0.9.34") + file2 = tmpdir.join("subdir").join("subdir2").join("file2.txt") + file2.write("0.9.34") + tmpdir.join(configfile).write("""[bumpversion] +current_version: 0.9.34 +new_version: 0.9.35 +[bumpversion:glob:**/*.txt]""") + + tmpdir.chdir() + main(["patch"]) + assert "0.9.35" == file1.read() + assert "0.9.35" == file2.read() + def test_file_keyword_with_suffix_is_accepted(tmpdir, configfile, file_keyword): tmpdir.join("file2").write("0.10.2")