Skip to content
New issue

Have a question about this project? # for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “#”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? # to your account

Fix globs ending with ** #2787

Merged
merged 3 commits into from
Sep 9, 2024
Merged

Conversation

paul-dingemans
Copy link
Collaborator

Description

Fix globs ending with **

According to https://git-scm.com/docs/gitignore a trailing ** in a glob has to match with any file in the directory that matches the glob without that trailing **.

Given glob "/Test*/" the file "src/Foo/TestFoo.kt" should not be matched, and file "src/TestFoo/FooTest.kt" is matched. If the original pattern would be expanded with additional pattern "**/Test*" then both files would have been matched.

Closes #2781

Checklist

Before submitting the PR, please check following (checks which are not relevant may be ignored):

  • [X Commit message are well written. In addition to a short title, the commit message also explain why a change is made.
  • At least one commit message contains a reference Closes #<xxx> or Fixes #<xxx> (replace<xxx> with issue number)
  • Tests are added
  • KtLint format has been applied on source code itself and violations are fixed
  • PR title is short and clear (it is used as description in the release changelog)
  • PR description added (background information)

Documentation is updated. See difference between snapshot and release documentation

  • Snapshot documentation in case documentation is to be released together with a code change
  • Release documentation in case documentation is related to a released version of ktlint and has to be published as soon as the change is merged to master

According to https://git-scm.com/docs/gitignore a trailing `**` in a glob has to match with any file in the directory that matches the glob without that trailing `**`.

Given glob "**/Test*/**" the file "src/Foo/TestFoo.kt" should not be matched, and file "src/TestFoo/FooTest.kt" is matched. If the original pattern would be expanded with additional pattern "**/Test*" then both files would have been matched.
According to https://git-scm.com/docs/gitignore a trailing `**` in a glob has to match with any file in the directory that matches the glob without that trailing `**`.

Given glob "**/Test*/**" the file "src/Foo/TestFoo.kt" should not be matched, and file "src/TestFoo/FooTest.kt" is matched. If the original pattern would be expanded with additional pattern "**/Test*" then both files would have been matched.

Closes #2781
According to https://git-scm.com/docs/gitignore a trailing `**` in a glob has to match with any file in the directory that matches the glob without that trailing `**`.

Given glob "**/Test*/**" the file "src/Foo/TestFoo.kt" should not be matched, and file "src/TestFoo/FooTest.kt" is matched. If the original pattern would be expanded with additional pattern "**/Test*" then both files would have been matched.

Closes #2781
@paul-dingemans paul-dingemans added this to the 1.4.0 milestone Sep 9, 2024
@paul-dingemans paul-dingemans merged commit e325a39 into master Sep 9, 2024
10 checks passed
@paul-dingemans paul-dingemans deleted the 2781-trailing-double-start-pattern branch September 9, 2024 12:58
paul-dingemans added a commit that referenced this pull request Sep 18, 2024
paul-dingemans added a commit that referenced this pull request Sep 18, 2024
# for free to join this conversation on GitHub. Already have an account? # to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

CLI patterns differ on Windows vs Linux
1 participant