Do not scan whole file tree when making MANIFEST #764
When building a MANIFEST from a MANIFEST.in, setuptools previously
Now, files are found using the
Each command in the MANIFEST.in is now represented by its own function
The changes will speed up creating packages for the vast majority of
This patch is great, and fix my issue with following symlinks when building the manifest. I however get a test failure on my system:
self = <setuptools.tests.test_manifest.TestFileListTest object at 0x2b1c7b96d850> def test_include_pattern(self): # return False if no match file_list = FileList() self.make_files() assert not file_list.include_pattern('*.py') # return True if files match file_list = FileList() self.make_files(['a.py', 'b.txt']) assert file_list.include_pattern('*.py') # test * matches all files file_list = FileList() self.make_files(['a.py', 'b.txt']) file_list.include_pattern('*') > assert file_list.files == ['a.py', 'b.txt'] E assert ['b.txt', 'a.py'] == ['a.py', 'b.txt'] E At index 0 diff: 'b.txt' != 'a.py' E Use -v to get the full diff
This is both with Python 2.7.12 and Python 3.5.2 on Arch Linux.
Thanks for checking this.
The order of files in the file list appears to depend on the underlying file system. My system reported the files in the order they were created, but apparently yours does not. I've wrapped the file list in a
There is already a separate test that checks that