From 980c2c5afd20fb9f7e50cb8ec0c42abc664da352 Mon Sep 17 00:00:00 2001 From: Tim Heap Date: Thu, 15 Dec 2016 10:11:37 +1100 Subject: [PATCH 1/2] Revert "Fix #849 global-exclude globbing" This reverts commit 23aba916e1070d3cf9723af85a6ce07c89053931. --- setuptools/command/egg_info.py | 4 ++-- setuptools/tests/test_manifest.py | 12 ------------ 2 files changed, 2 insertions(+), 14 deletions(-) diff --git a/setuptools/command/egg_info.py b/setuptools/command/egg_info.py index 8a06e496d7..6f8fd87449 100755 --- a/setuptools/command/egg_info.py +++ b/setuptools/command/egg_info.py @@ -457,7 +457,7 @@ def global_include(self, pattern): """ if self.allfiles is None: self.findall() - match = translate_pattern(os.path.join('**', '*' + pattern)) + match = translate_pattern(os.path.join('**', pattern)) found = [f for f in self.allfiles if match.match(f)] self.extend(found) return bool(found) @@ -466,7 +466,7 @@ def global_exclude(self, pattern): """ Exclude all files anywhere that match the pattern. """ - match = translate_pattern(os.path.join('**', '*' + pattern)) + match = translate_pattern(os.path.join('**', pattern)) return self._remove_files(match.match) def append(self, item): diff --git a/setuptools/tests/test_manifest.py b/setuptools/tests/test_manifest.py index 62b6d708c1..602c43a274 100644 --- a/setuptools/tests/test_manifest.py +++ b/setuptools/tests/test_manifest.py @@ -449,11 +449,6 @@ def test_global_include(self): assert file_list.files == ['a.py', l('d/c.py')] self.assertWarnings() - file_list.process_template_line('global-include .txt') - file_list.sort() - assert file_list.files == ['a.py', 'b.txt', l('d/c.py')] - self.assertNoWarnings() - def test_global_exclude(self): l = make_local_path # global-exclude @@ -470,13 +465,6 @@ def test_global_exclude(self): assert file_list.files == ['b.txt'] self.assertWarnings() - file_list = FileList() - file_list.files = ['a.py', 'b.txt', l('d/c.pyc'), 'e.pyo'] - file_list.process_template_line('global-exclude .py[co]') - file_list.sort() - assert file_list.files == ['a.py', 'b.txt'] - self.assertNoWarnings() - def test_recursive_include(self): l = make_local_path # recursive-include From b92763bc598c489ea4e5c04dd9713bf7583fd546 Mon Sep 17 00:00:00 2001 From: Tim Heap Date: Thu, 15 Dec 2016 10:24:12 +1100 Subject: [PATCH 2/2] Update changelog, ref #890 --- CHANGES.rst | 14 +++++++++++++- 1 file changed, 13 insertions(+), 1 deletion(-) diff --git a/CHANGES.rst b/CHANGES.rst index 7d6386c2f2..50c505a8dc 100644 --- a/CHANGES.rst +++ b/CHANGES.rst @@ -1,3 +1,11 @@ +In development +-------------- + +* #890: Revert #849. ``global-exclude .foo`` will not match all + ``*.foo`` files any more. Package authors must add an explicit + wildcard, such as ``global-exclude *.foo``, to match all + ``.foo`` files. See #886, #849. + v31.0.1 ------- @@ -132,7 +140,11 @@ v28.5.0 * #810: Tests are now invoked with tox and not setup.py test. * #249 and #450 via #764: Avoid scanning the whole tree - when building the manifest. + when building the manifest. Also fixes a long-standing bug + where patterns in ``MANIFEST.in`` had implicit wildcard + matching. This caused ``global-exclude .foo`` to exclude + all ``*.foo`` files, but also ``global-exclude bar.py`` to + exclude ``foo_bar.py``. v28.4.0 -------