From f518c1bb7c15960d759e6e584cc26ee68d4b2bf4 Mon Sep 17 00:00:00 2001 From: Haibo Lin Date: Wed, 13 Jan 2021 15:34:09 +0800 Subject: [PATCH] Stop copying .git directory with module defaults JIRA: RHELCMP-3016 Fixes: https://pagure.io/pungi/issue/1464 Signed-off-by: Haibo Lin --- pungi/phases/init.py | 4 +++- tests/test_initphase.py | 10 +++++++--- 2 files changed, 10 insertions(+), 4 deletions(-) diff --git a/pungi/phases/init.py b/pungi/phases/init.py index 5f68f29a..f0590128 100644 --- a/pungi/phases/init.py +++ b/pungi/phases/init.py @@ -212,7 +212,9 @@ def write_module_defaults(compose): get_dir_from_scm(scm_dict, tmp_dir, compose=compose) compose.log_debug("Writing module defaults") shutil.copytree( - tmp_dir, compose.paths.work.module_defaults_dir(create_dir=False) + tmp_dir, + compose.paths.work.module_defaults_dir(create_dir=False), + ignore=shutil.ignore_patterns(".git"), ) diff --git a/tests/test_initphase.py b/tests/test_initphase.py index 5f06a08e..afd2601e 100644 --- a/tests/test_initphase.py +++ b/tests/test_initphase.py @@ -529,10 +529,11 @@ class TestGetLookasideGroups(PungiTestCase): ) +@mock.patch("shutil.ignore_patterns") @mock.patch("shutil.copytree") @mock.patch("pungi.phases.init.get_dir_from_scm") class TestWriteModuleDefaults(PungiTestCase): - def test_clone_git(self, gdfs, ct): + def test_clone_git(self, gdfs, ct, igp): conf = {"scm": "git", "repo": "https://pagure.io/pungi.git", "dir": "."} compose = DummyCompose(self.topdir, {"module_defaults_dir": conf}) @@ -547,11 +548,12 @@ class TestWriteModuleDefaults(PungiTestCase): mock.call( gdfs.call_args_list[0][0][1], os.path.join(self.topdir, "work/global/module_defaults"), + ignore=igp(".git"), ) ], ) - def test_clone_file_scm(self, gdfs, ct): + def test_clone_file_scm(self, gdfs, ct, igp): conf = {"scm": "file", "dir": "defaults"} compose = DummyCompose(self.topdir, {"module_defaults_dir": conf}) compose.config_dir = "/home/releng/configs" @@ -574,11 +576,12 @@ class TestWriteModuleDefaults(PungiTestCase): mock.call( gdfs.call_args_list[0][0][1], os.path.join(self.topdir, "work/global/module_defaults"), + ignore=igp(".git"), ) ], ) - def test_clone_file_str(self, gdfs, ct): + def test_clone_file_str(self, gdfs, ct, igp): conf = "defaults" compose = DummyCompose(self.topdir, {"module_defaults_dir": conf}) compose.config_dir = "/home/releng/configs" @@ -595,6 +598,7 @@ class TestWriteModuleDefaults(PungiTestCase): mock.call( gdfs.call_args_list[0][0][1], os.path.join(self.topdir, "work/global/module_defaults"), + ignore=igp(".git"), ) ], )