git-bot-feedback 0.2.4__tar.gz → 0.2.5__tar.gz

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (56) hide show
  1. {git_bot_feedback-0.2.4 → git_bot_feedback-0.2.5}/CHANGELOG.md +4 -3
  2. {git_bot_feedback-0.2.4 → git_bot_feedback-0.2.5}/Cargo.lock +2 -2
  3. {git_bot_feedback-0.2.4 → git_bot_feedback-0.2.5}/Cargo.toml +1 -1
  4. {git_bot_feedback-0.2.4 → git_bot_feedback-0.2.5}/PKG-INFO +1 -1
  5. {git_bot_feedback-0.2.4 → git_bot_feedback-0.2.5}/bindings/python/CHANGELOG.md +15 -0
  6. {git_bot_feedback-0.2.4 → git_bot_feedback-0.2.5}/bindings/python/Cargo.toml +2 -2
  7. {git_bot_feedback-0.2.4 → git_bot_feedback-0.2.5}/src/file_utils/file_filter.rs +28 -1
  8. {git_bot_feedback-0.2.4 → git_bot_feedback-0.2.5}/.gitattributes +0 -0
  9. {git_bot_feedback-0.2.4 → git_bot_feedback-0.2.5}/.gitignore +0 -0
  10. {git_bot_feedback-0.2.4 → git_bot_feedback-0.2.5}/.pre-commit-config.yaml +0 -0
  11. {git_bot_feedback-0.2.4 → git_bot_feedback-0.2.5}/CONTRIBUTING.md +0 -0
  12. {git_bot_feedback-0.2.4 → git_bot_feedback-0.2.5}/LICENSE +0 -0
  13. {git_bot_feedback-0.2.4 → git_bot_feedback-0.2.5}/README.md +0 -0
  14. {git_bot_feedback-0.2.4 → git_bot_feedback-0.2.5}/README.rst +0 -0
  15. {git_bot_feedback-0.2.4 → git_bot_feedback-0.2.5}/bindings/python/README.rst +0 -0
  16. {git_bot_feedback-0.2.4 → git_bot_feedback-0.2.5}/bindings/python/git_bot_feedback.pyi +0 -0
  17. {git_bot_feedback-0.2.4 → git_bot_feedback-0.2.5}/bindings/python/src/lib.rs +0 -0
  18. {git_bot_feedback-0.2.4 → git_bot_feedback-0.2.5}/bindings/python/src/wrapper.rs +0 -0
  19. {git_bot_feedback-0.2.4 → git_bot_feedback-0.2.5}/build.rs +0 -0
  20. {git_bot_feedback-0.2.4 → git_bot_feedback-0.2.5}/codecov.yml +0 -0
  21. {git_bot_feedback-0.2.4 → git_bot_feedback-0.2.5}/cspell.config.yml +0 -0
  22. {git_bot_feedback-0.2.4 → git_bot_feedback-0.2.5}/docs/API/client.rst +0 -0
  23. {git_bot_feedback-0.2.4 → git_bot_feedback-0.2.5}/docs/API/file-annotations.rst +0 -0
  24. {git_bot_feedback-0.2.4 → git_bot_feedback-0.2.5}/docs/API/file-changes.rst +0 -0
  25. {git_bot_feedback-0.2.4 → git_bot_feedback-0.2.5}/docs/API/index.rst +0 -0
  26. {git_bot_feedback-0.2.4 → git_bot_feedback-0.2.5}/docs/API/output-variables.rst +0 -0
  27. {git_bot_feedback-0.2.4 → git_bot_feedback-0.2.5}/docs/API/pr-reviews.rst +0 -0
  28. {git_bot_feedback-0.2.4 → git_bot_feedback-0.2.5}/docs/API/thread-comments.rst +0 -0
  29. {git_bot_feedback-0.2.4 → git_bot_feedback-0.2.5}/docs/_static/favicon.ico +0 -0
  30. {git_bot_feedback-0.2.4 → git_bot_feedback-0.2.5}/docs/_static/logo.png +0 -0
  31. {git_bot_feedback-0.2.4 → git_bot_feedback-0.2.5}/docs/conf.py +0 -0
  32. {git_bot_feedback-0.2.4 → git_bot_feedback-0.2.5}/docs/index.rst +0 -0
  33. {git_bot_feedback-0.2.4 → git_bot_feedback-0.2.5}/docs/logo.xcf +0 -0
  34. {git_bot_feedback-0.2.4 → git_bot_feedback-0.2.5}/git_bot_feedback.pyi +0 -0
  35. {git_bot_feedback-0.2.4 → git_bot_feedback-0.2.5}/nurfile +0 -0
  36. {git_bot_feedback-0.2.4 → git_bot_feedback-0.2.5}/pyproject.toml +0 -0
  37. {git_bot_feedback-0.2.4 → git_bot_feedback-0.2.5}/src/client/common.rs +0 -0
  38. {git_bot_feedback-0.2.4 → git_bot_feedback-0.2.5}/src/client/gitea/mod.rs +0 -0
  39. {git_bot_feedback-0.2.4 → git_bot_feedback-0.2.5}/src/client/gitea/serde_structs.rs +0 -0
  40. {git_bot_feedback-0.2.4 → git_bot_feedback-0.2.5}/src/client/gitea/specific_api.rs +0 -0
  41. {git_bot_feedback-0.2.4 → git_bot_feedback-0.2.5}/src/client/github/graphql.rs +0 -0
  42. {git_bot_feedback-0.2.4 → git_bot_feedback-0.2.5}/src/client/github/mod.rs +0 -0
  43. {git_bot_feedback-0.2.4 → git_bot_feedback-0.2.5}/src/client/github/serde_structs.rs +0 -0
  44. {git_bot_feedback-0.2.4 → git_bot_feedback-0.2.5}/src/client/github/specific_api.rs +0 -0
  45. {git_bot_feedback-0.2.4 → git_bot_feedback-0.2.5}/src/client/local.rs +0 -0
  46. {git_bot_feedback-0.2.4 → git_bot_feedback-0.2.5}/src/client/mod.rs +0 -0
  47. {git_bot_feedback-0.2.4 → git_bot_feedback-0.2.5}/src/comments/mod.rs +0 -0
  48. {git_bot_feedback-0.2.4 → git_bot_feedback-0.2.5}/src/comments/review_comments.rs +0 -0
  49. {git_bot_feedback-0.2.4 → git_bot_feedback-0.2.5}/src/comments/thread_comments.rs +0 -0
  50. {git_bot_feedback-0.2.4 → git_bot_feedback-0.2.5}/src/error.rs +0 -0
  51. {git_bot_feedback-0.2.4 → git_bot_feedback-0.2.5}/src/file_annotations.rs +0 -0
  52. {git_bot_feedback-0.2.4 → git_bot_feedback-0.2.5}/src/file_utils/mod.rs +0 -0
  53. {git_bot_feedback-0.2.4 → git_bot_feedback-0.2.5}/src/git_diff.rs +0 -0
  54. {git_bot_feedback-0.2.4 → git_bot_feedback-0.2.5}/src/lib.rs +0 -0
  55. {git_bot_feedback-0.2.4 → git_bot_feedback-0.2.5}/src/output_variable.rs +0 -0
  56. {git_bot_feedback-0.2.4 → git_bot_feedback-0.2.5}/uv.lock +0 -0
@@ -6,7 +6,7 @@ The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/),
6
6
  and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
7
7
  <!-- markdownlint-disable MD024 -->
8
8
 
9
- ## [git-bot-feedback/v0.8.4] - 2026-10-02
9
+ ## [git-bot-feedback/v0.8.5] - 2026-10-04
10
10
 
11
11
  ### <!-- 1 --> 🚀 Added
12
12
 
@@ -48,6 +48,7 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
48
48
  - Move option's value instead of cloning it by @2bndy5 in [#99](https://github.com/2bndy5/git-bot-feedback/pull/99)
49
49
  - Output only diff using `git show` by @2bndy5 in [#102](https://github.com/2bndy5/git-bot-feedback/pull/102)
50
50
  - Improve Github client's `get_list_of_changed_files()` by @2bndy5 in [#123](https://github.com/2bndy5/git-bot-feedback/pull/123)
51
+ - Match descendants of a given glob pattern by @2bndy5 in [#132](https://github.com/2bndy5/git-bot-feedback/pull/132)
51
52
 
52
53
  ### <!-- 8 --> 📝 Documentation
53
54
 
@@ -57,9 +58,9 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
57
58
 
58
59
  - Revise `FileAnnotations` impl by @2bndy5 in [#64](https://github.com/2bndy5/git-bot-feedback/pull/64)
59
60
 
60
- [git-bot-feedback/v0.8.4]: https://github.com/2bndy5/git-bot-feedback/compare/git-bot-feedback/v0.8.3...git-bot-feedback/v0.8.4
61
+ [git-bot-feedback/v0.8.5]: https://github.com/2bndy5/git-bot-feedback/compare/git-bot-feedback/v0.8.4...git-bot-feedback/v0.8.5
61
62
 
62
- Full commit diff: [`git-bot-feedback/v0.8.3...git-bot-feedback/v0.8.4`][git-bot-feedback/v0.8.4]
63
+ Full commit diff: [`git-bot-feedback/v0.8.4...git-bot-feedback/v0.8.5`][git-bot-feedback/v0.8.5]
63
64
 
64
65
  ## New Contributors
65
66
 
@@ -413,7 +413,7 @@ dependencies = [
413
413
 
414
414
  [[package]]
415
415
  name = "git-bot-feedback"
416
- version = "0.8.4"
416
+ version = "0.8.5"
417
417
  dependencies = [
418
418
  "async-trait",
419
419
  "chrono",
@@ -433,7 +433,7 @@ dependencies = [
433
433
 
434
434
  [[package]]
435
435
  name = "git-bot-feedback-py"
436
- version = "0.2.4"
436
+ version = "0.2.5"
437
437
  dependencies = [
438
438
  "git-bot-feedback",
439
439
  "pyo3",
@@ -21,7 +21,7 @@ features = ["http2", "charset", "system-proxy"]
21
21
  [package]
22
22
  name = "git-bot-feedback"
23
23
  description = "A library designed for CI tools that posts comments on a Pull Request."
24
- version = "0.8.4"
24
+ version = "0.8.5"
25
25
  edition.workspace = true
26
26
  license.workspace = true
27
27
  repository.workspace = true
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: git-bot-feedback
3
- Version: 0.2.4
3
+ Version: 0.2.5
4
4
  Classifier: Development Status :: 5 - Production/Stable
5
5
  Classifier: Intended Audience :: Developers
6
6
  Classifier: Intended Audience :: System Administrators
@@ -6,11 +6,26 @@ The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/),
6
6
  and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
7
7
  <!-- markdownlint-disable MD024 -->
8
8
 
9
+ ## [git-bot-feedback-py/v0.2.5] - 2026-10-04
10
+
11
+ ### <!-- 4 --> 🛠️ Fixed
12
+
13
+ - Match descendants of a given glob pattern by @2bndy5 in [#132](https://github.com/2bndy5/git-bot-feedback/pull/132)
14
+
15
+ ### <!-- 6 --> 📦 Dependency updates
16
+
17
+ - Bump version to git-bot-feedback/v0.8.5 by @2bndy5 in [`55b72b7`](https://github.com/2bndy5/git-bot-feedback/commit/55b72b7e472fc6e2f33d0d76a20d0d0c2ab3cd9f)
18
+
19
+ [git-bot-feedback-py/v0.2.5]: https://github.com/2bndy5/git-bot-feedback/compare/git-bot-feedback-py/v0.2.4...git-bot-feedback-py/v0.2.5
20
+
21
+ Full commit diff: [`git-bot-feedback-py/v0.2.4...git-bot-feedback-py/v0.2.5`][git-bot-feedback-py/v0.2.5]
22
+
9
23
  ## [git-bot-feedback-py/v0.2.4] - 2026-10-02
10
24
 
11
25
  ### <!-- 6 --> 📦 Dependency updates
12
26
 
13
27
  - Bump version to git-bot-feedback/v0.8.4 by @2bndy5 in [`41a9014`](https://github.com/2bndy5/git-bot-feedback/commit/41a90143260cd11d9597ecb09fc1b6dd41b793cd)
28
+ - Bump version to git-bot-feedback-py/v0.2.4 by @2bndy5 in [`fc345db`](https://github.com/2bndy5/git-bot-feedback/commit/fc345dba18ecb0bc7d587542854115b317db2226)
14
29
 
15
30
  [git-bot-feedback-py/v0.2.4]: https://github.com/2bndy5/git-bot-feedback/compare/git-bot-feedback-py/v0.2.3...git-bot-feedback-py/v0.2.4
16
31
 
@@ -1,6 +1,6 @@
1
1
  [package]
2
2
  name = "git-bot-feedback-py"
3
- version = "0.2.4"
3
+ version = "0.2.5"
4
4
  edition.workspace = true
5
5
  license.workspace = true
6
6
  repository.workspace = true
@@ -14,7 +14,7 @@ crate-type = ["cdylib"] # spell-checker: disable-line
14
14
  path = "src/lib.rs"
15
15
 
16
16
  [dependencies]
17
- git-bot-feedback = { path = "../..", version = "0.8.4", features = ["file-changes", "pyo3"] }
17
+ git-bot-feedback = { path = "../..", version = "0.8.5", features = ["file-changes", "pyo3"] }
18
18
  pyo3 = { workspace = true }
19
19
  pyo3-async-runtimes = { version = "0.29.0", features = ["tokio-runtime"] }
20
20
  pyo3-log = "0.13.4"
@@ -176,10 +176,20 @@ impl FileFilter {
176
176
  };
177
177
  for pattern in set {
178
178
  let pat = PathBuf::from(&pattern);
179
+ let is_valid_glob = fast_glob::validate(pattern).is_ok();
180
+ let is_glob = is_valid_glob
181
+ && pattern
182
+ .chars()
183
+ .any(|character| matches!(character, '*' | '?' | '[' | '{'));
179
184
  if pattern.is_empty()
180
- || glob_match(pattern, file_name.to_string_lossy().as_ref())
185
+ || (is_valid_glob && glob_match(pattern, file_name.to_string_lossy().as_ref()))
181
186
  || (pat.is_file() && file_name == pat)
182
187
  || (pat.is_dir() && file_name.starts_with(pat))
188
+ || (is_glob
189
+ && file_name.ancestors().any(|a| {
190
+ !a.as_os_str().is_empty()
191
+ && glob_match(pattern, a.to_string_lossy().as_ref())
192
+ }))
183
193
  {
184
194
  log::debug!(
185
195
  "{}file {file_name:?} is {}ignored with domain {pattern:?}.",
@@ -456,6 +466,23 @@ mod tests {
456
466
  assert!(file_filter.is_file_not_ignored(&PathBuf::from("./src/file_utils/file_filter.rs")));
457
467
  }
458
468
 
469
+ #[test]
470
+ fn ignore_glob_descendants() {
471
+ // Pattern is a glob that resolves to a directory (examples/<any>/build).
472
+ let file_filter = setup_ignore("examples/*/build", &[]);
473
+
474
+ // The directory itself matches (whole-path glob match).
475
+ assert!(file_filter.is_file_ignored(&PathBuf::from("examples/linux/build")));
476
+
477
+ // Files inside the matched directory should be ignored too,
478
+ // the same way a literal dir pattern like "src" ignores "src/lib.rs".
479
+ assert!(file_filter.is_file_ignored(&PathBuf::from("examples/linux/build/file.c")));
480
+ assert!(file_filter.is_file_ignored(&PathBuf::from("examples/linux/build/some/file.c")));
481
+
482
+ // Siblings outside the glob must not be ignored.
483
+ assert!(!file_filter.is_file_ignored(&PathBuf::from("examples/linux/src/file.c")));
484
+ }
485
+
459
486
  #[test]
460
487
  fn ignore_submodules() {
461
488
  let mut file_filter = setup_ignore("!pybind11", &[]);