Skip to content
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

Fix *.* wildcard glob matching regression #6531

Closed

Conversation

ladipro
Copy link
Member

@ladipro ladipro commented Jun 7, 2021

Fixes #6502

Summary

This change fixes a regression in glob matching where files without extension are erroneously not matched when taking a specific globbing code path.

Customer impact

Any customer who uses a glob pattern susceptible to the bug and has files without extensions in their source tree is affected. The bug was reported by external customers.

Regression?

Yes, caused by #6151 where glob matching was optimized which internally made it take a different code path.

Changes Made

Fixes the regression by properly handling *.* to mean all files, not just files with a dot in the name. This convention is used in .NET APIs on all platforms and matches the pre-regression behavior.

Testing

Added unit test coverage. Also verified locally with the repro provided by the original bug reporter.

Risk

Low. The star patterns are special-cased to mean all files, other patterns are unaffected.

Copy link
Member

@rainersigwald rainersigwald left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

As discussed offline, please retarget to 16.10 and we'll ask for servicing approval.

@ladipro ladipro force-pushed the 6502-fix-wildcard-glob-matching-16.11 branch from 19c1e6d to 6bd221d Compare June 7, 2021 20:59
@ladipro ladipro changed the base branch from vs16.11 to vs16.10 June 7, 2021 21:00
@ladipro
Copy link
Member Author

ladipro commented Jun 7, 2021

I have rebased to 16.10, fixed the new unit test to pass on Linux, and updated the description with the servicing template.

@rainersigwald
Copy link
Member

Merged this except the ref assembly nonsense in #6537.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

Exclude globs that look like **\subdir\** do not exclude files without extensions
5 participants