-
-
Notifications
You must be signed in to change notification settings - Fork 1.2k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Since setuptools 28.5.0, a "global-exclude .pyc" no longer matches .pyc files #849
Comments
Thanks @rbarrois for tracing the issue and providing a unit test. I agree this looks like an unintentional regression. |
According to the changelog, #764 is implicated in this change. Since the unit tests didn't capture this behavior before, it's no surprise that it was missed during the re-write. @timheap How difficult would it be to restore this expectation? |
After pypa#764, `global-exclude .pyc` no longer excluded `.pyc` files. This fixes that regression, and adds a test for this behaviour.
@jaraco It is simple to restore this behaviour for However, I will argue that the old behaviour is unexpected and not desired. In my opinion, a note in the Changelog about this breaking change should be included, rather than restoring the old behaviour. The new behaviour behaves much more like globbing does in other environments (e.g. a bash shell), and is less surprising. With the old behaviour, a pattern like |
@timheap thanks! I do agree with you: I wouldn't consider "properly anchoring patterns" as a bug, but rather as a proper bugfix. I'm totally in favor of keeping the fixed behavior, and simply documenting "a longstanding bug has been fixed in passing while cleaning up this code — please fix your manifests.". |
Since commit bb45468, if a project's MANIFEST.in contains
global-exclude .py[co]
, the archive generated withpython setup.py sdist
will still contain all.pyc
/.pyo
files.The test below shows that this line worked in setuptools 28.4.0, and broke in setuptools 28.5.0.
I'm not sure whether this can be considered a bug: the previous implementation looked up patterns without any anchoring, whereas the new one forces users to explicitly include wildcards in their
MANIFEST.in
.However, I think this change should have been mentioned in the version Changelog.
The text was updated successfully, but these errors were encountered: