code_ownership 2.1.2 → 2.1.3

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 (256) hide show
  1. checksums.yaml +4 -4
  2. data/.cargo/config +2 -2
  3. data/Cargo.lock +9 -2
  4. data/ext/cargo-vendor/{codeowners-0.3.2 → codeowners-0.3.3}/.cargo-checksum.json +1 -1
  5. data/ext/cargo-vendor/{codeowners-0.3.2 → codeowners-0.3.3}/Cargo.lock +8 -1
  6. data/ext/cargo-vendor/{codeowners-0.3.2 → codeowners-0.3.3}/Cargo.toml +2 -1
  7. data/ext/cargo-vendor/{codeowners-0.3.2 → codeowners-0.3.3}/src/ownership/file_generator.rs +119 -9
  8. data/ext/cargo-vendor/{codeowners-0.3.2 → codeowners-0.3.3}/src/ownership/validator.rs +77 -15
  9. data/ext/cargo-vendor/{codeowners-0.3.2 → codeowners-0.3.3}/tests/executable_name_config_test.rs +25 -4
  10. data/ext/cargo-vendor/{codeowners-0.3.2 → codeowners-0.3.3}/tests/fixtures/custom_executable_name/.github/CODEOWNERS +1 -1
  11. data/ext/cargo-vendor/{codeowners-0.3.2 → codeowners-0.3.3}/tests/fixtures/default_executable_name/.github/CODEOWNERS +1 -1
  12. data/ext/cargo-vendor/{codeowners-0.3.2 → codeowners-0.3.3}/tests/invalid_project_test.rs +30 -0
  13. data/ext/cargo-vendor/similar-2.7.0/.cargo/config.toml +2 -0
  14. data/ext/cargo-vendor/similar-2.7.0/.cargo-checksum.json +1 -0
  15. data/ext/cargo-vendor/similar-2.7.0/.cargo_vcs_info.json +6 -0
  16. data/ext/cargo-vendor/similar-2.7.0/.github/FUNDING.yml +1 -0
  17. data/ext/cargo-vendor/similar-2.7.0/.github/workflows/clippy.yml +16 -0
  18. data/ext/cargo-vendor/similar-2.7.0/.github/workflows/rustfmt.yml +16 -0
  19. data/ext/cargo-vendor/similar-2.7.0/.github/workflows/tests.yml +49 -0
  20. data/ext/cargo-vendor/similar-2.7.0/.vscode/settings.json +5 -0
  21. data/ext/cargo-vendor/similar-2.7.0/CHANGELOG.md +132 -0
  22. data/ext/cargo-vendor/similar-2.7.0/Cargo.lock +373 -0
  23. data/ext/cargo-vendor/similar-2.7.0/Cargo.lock.msrv +266 -0
  24. data/ext/cargo-vendor/similar-2.7.0/Cargo.toml +149 -0
  25. data/ext/cargo-vendor/similar-2.7.0/Cargo.toml.orig +73 -0
  26. data/ext/cargo-vendor/similar-2.7.0/LICENSE +201 -0
  27. data/ext/cargo-vendor/similar-2.7.0/Makefile +31 -0
  28. data/ext/cargo-vendor/similar-2.7.0/README.md +59 -0
  29. data/ext/cargo-vendor/similar-2.7.0/clippy.toml +1 -0
  30. data/ext/cargo-vendor/similar-2.7.0/examples/close-matches.rs +15 -0
  31. data/ext/cargo-vendor/similar-2.7.0/examples/large.rs +8 -0
  32. data/ext/cargo-vendor/similar-2.7.0/examples/nonstring.rs +13 -0
  33. data/ext/cargo-vendor/similar-2.7.0/examples/original-slices.rs +11 -0
  34. data/ext/cargo-vendor/similar-2.7.0/examples/patience.rs +48 -0
  35. data/ext/cargo-vendor/similar-2.7.0/examples/serde.rs +15 -0
  36. data/ext/cargo-vendor/similar-2.7.0/examples/terminal-inline.rs +60 -0
  37. data/ext/cargo-vendor/similar-2.7.0/examples/terminal.rs +20 -0
  38. data/ext/cargo-vendor/similar-2.7.0/examples/udiff.rs +24 -0
  39. data/ext/cargo-vendor/similar-2.7.0/scripts/wasmtime-wrapper.sh +4 -0
  40. data/ext/cargo-vendor/similar-2.7.0/src/algorithms/capture.rs +117 -0
  41. data/ext/cargo-vendor/similar-2.7.0/src/algorithms/compact.rs +351 -0
  42. data/ext/cargo-vendor/similar-2.7.0/src/algorithms/hook.rs +178 -0
  43. data/ext/cargo-vendor/similar-2.7.0/src/algorithms/lcs.rs +294 -0
  44. data/ext/cargo-vendor/similar-2.7.0/src/algorithms/mod.rs +134 -0
  45. data/ext/cargo-vendor/similar-2.7.0/src/algorithms/myers.rs +442 -0
  46. data/ext/cargo-vendor/similar-2.7.0/src/algorithms/patience.rs +198 -0
  47. data/ext/cargo-vendor/similar-2.7.0/src/algorithms/replace.rs +221 -0
  48. data/ext/cargo-vendor/similar-2.7.0/src/algorithms/snapshots/similar__algorithms__capture__capture_hook_grouping-2.snap +60 -0
  49. data/ext/cargo-vendor/similar-2.7.0/src/algorithms/snapshots/similar__algorithms__capture__capture_hook_grouping.snap +64 -0
  50. data/ext/cargo-vendor/similar-2.7.0/src/algorithms/snapshots/similar__algorithms__lcs__contiguous.snap +28 -0
  51. data/ext/cargo-vendor/similar-2.7.0/src/algorithms/snapshots/similar__algorithms__lcs__diff.snap +22 -0
  52. data/ext/cargo-vendor/similar-2.7.0/src/algorithms/snapshots/similar__algorithms__lcs__pat.snap +31 -0
  53. data/ext/cargo-vendor/similar-2.7.0/src/algorithms/snapshots/similar__algorithms__lcs__same.snap +12 -0
  54. data/ext/cargo-vendor/similar-2.7.0/src/algorithms/snapshots/similar__algorithms__myers__contiguous.snap +28 -0
  55. data/ext/cargo-vendor/similar-2.7.0/src/algorithms/snapshots/similar__algorithms__myers__deadline_reached.snap +22 -0
  56. data/ext/cargo-vendor/similar-2.7.0/src/algorithms/snapshots/similar__algorithms__myers__diff.snap +22 -0
  57. data/ext/cargo-vendor/similar-2.7.0/src/algorithms/snapshots/similar__algorithms__myers__pat.snap +31 -0
  58. data/ext/cargo-vendor/similar-2.7.0/src/algorithms/snapshots/similar__algorithms__patience__patience.snap +45 -0
  59. data/ext/cargo-vendor/similar-2.7.0/src/algorithms/snapshots/similar__algorithms__patience__patience_out_of_bounds_bug.snap +16 -0
  60. data/ext/cargo-vendor/similar-2.7.0/src/algorithms/utils.rs +379 -0
  61. data/ext/cargo-vendor/similar-2.7.0/src/common.rs +185 -0
  62. data/ext/cargo-vendor/similar-2.7.0/src/deadline_support.rs +37 -0
  63. data/ext/cargo-vendor/similar-2.7.0/src/iter.rs +195 -0
  64. data/ext/cargo-vendor/similar-2.7.0/src/lib.rs +176 -0
  65. data/ext/cargo-vendor/similar-2.7.0/src/snapshots/similar__udiff__unified_diff.snap +25 -0
  66. data/ext/cargo-vendor/similar-2.7.0/src/snapshots/similar__udiff__unified_diff_newline_hint-2.snap +10 -0
  67. data/ext/cargo-vendor/similar-2.7.0/src/snapshots/similar__udiff__unified_diff_newline_hint.snap +11 -0
  68. data/ext/cargo-vendor/similar-2.7.0/src/text/abstraction.rs +446 -0
  69. data/ext/cargo-vendor/similar-2.7.0/src/text/inline.rs +342 -0
  70. data/ext/cargo-vendor/similar-2.7.0/src/text/mod.rs +792 -0
  71. data/ext/cargo-vendor/similar-2.7.0/src/text/snapshots/similar__text__captured_ops.snap +22 -0
  72. data/ext/cargo-vendor/similar-2.7.0/src/text/snapshots/similar__text__captured_word_ops.snap +202 -0
  73. data/ext/cargo-vendor/similar-2.7.0/src/text/snapshots/similar__text__char_diff.snap +39 -0
  74. data/ext/cargo-vendor/similar-2.7.0/src/text/snapshots/similar__text__inline__line_ops_inline.snap +126 -0
  75. data/ext/cargo-vendor/similar-2.7.0/src/text/snapshots/similar__text__inline__serde.snap +107 -0
  76. data/ext/cargo-vendor/similar-2.7.0/src/text/snapshots/similar__text__lifetimes_on_iter.snap +42 -0
  77. data/ext/cargo-vendor/similar-2.7.0/src/text/snapshots/similar__text__line_ops.snap +42 -0
  78. data/ext/cargo-vendor/similar-2.7.0/src/text/snapshots/similar__text__serde.snap +55 -0
  79. data/ext/cargo-vendor/similar-2.7.0/src/text/snapshots/similar__text__serde_ops.snap +38 -0
  80. data/ext/cargo-vendor/similar-2.7.0/src/text/snapshots/similar__text__unified_diff.snap +12 -0
  81. data/ext/cargo-vendor/similar-2.7.0/src/text/snapshots/similar__text__virtual_newlines.snap +32 -0
  82. data/ext/cargo-vendor/similar-2.7.0/src/text/utils.rs +55 -0
  83. data/ext/cargo-vendor/similar-2.7.0/src/types.rs +502 -0
  84. data/ext/cargo-vendor/similar-2.7.0/src/udiff.rs +359 -0
  85. data/ext/cargo-vendor/similar-2.7.0/src/utils.rs +412 -0
  86. data/ext/code_ownership/Cargo.toml +1 -1
  87. data/lib/code_ownership/version.rb +1 -1
  88. metadata +252 -178
  89. /data/ext/cargo-vendor/{codeowners-0.3.2 → codeowners-0.3.3}/.github/CODEOWNERS +0 -0
  90. /data/ext/cargo-vendor/{codeowners-0.3.2 → codeowners-0.3.3}/.github/workflows/audit.yml +0 -0
  91. /data/ext/cargo-vendor/{codeowners-0.3.2 → codeowners-0.3.3}/.github/workflows/ci.yml +0 -0
  92. /data/ext/cargo-vendor/{codeowners-0.3.2 → codeowners-0.3.3}/.github/workflows/dotslash-config.json +0 -0
  93. /data/ext/cargo-vendor/{codeowners-0.3.2 → codeowners-0.3.3}/.rustfmt.toml +0 -0
  94. /data/ext/cargo-vendor/{codeowners-0.3.2 → codeowners-0.3.3}/.rusty-hook.toml +0 -0
  95. /data/ext/cargo-vendor/{codeowners-0.3.2 → codeowners-0.3.3}/AGENTS.md +0 -0
  96. /data/ext/cargo-vendor/{codeowners-0.3.2 → codeowners-0.3.3}/CLAUDE.md +0 -0
  97. /data/ext/cargo-vendor/{codeowners-0.3.2 → codeowners-0.3.3}/README.md +0 -0
  98. /data/ext/cargo-vendor/{codeowners-0.3.2 → codeowners-0.3.3}/dev/run_benchmarks_for_file.sh +0 -0
  99. /data/ext/cargo-vendor/{codeowners-0.3.2 → codeowners-0.3.3}/dev/run_benchmarks_for_gv.sh +0 -0
  100. /data/ext/cargo-vendor/{codeowners-0.3.2 → codeowners-0.3.3}/rust-toolchain.toml +0 -0
  101. /data/ext/cargo-vendor/{codeowners-0.3.2 → codeowners-0.3.3}/src/cache/file.rs +0 -0
  102. /data/ext/cargo-vendor/{codeowners-0.3.2 → codeowners-0.3.3}/src/cache/mod.rs +0 -0
  103. /data/ext/cargo-vendor/{codeowners-0.3.2 → codeowners-0.3.3}/src/cache/noop.rs +0 -0
  104. /data/ext/cargo-vendor/{codeowners-0.3.2 → codeowners-0.3.3}/src/cli.rs +0 -0
  105. /data/ext/cargo-vendor/{codeowners-0.3.2 → codeowners-0.3.3}/src/common_test.rs +0 -0
  106. /data/ext/cargo-vendor/{codeowners-0.3.2 → codeowners-0.3.3}/src/config.rs +0 -0
  107. /data/ext/cargo-vendor/{codeowners-0.3.2 → codeowners-0.3.3}/src/crosscheck.rs +0 -0
  108. /data/ext/cargo-vendor/{codeowners-0.3.2 → codeowners-0.3.3}/src/lib.rs +0 -0
  109. /data/ext/cargo-vendor/{codeowners-0.3.2 → codeowners-0.3.3}/src/main.rs +0 -0
  110. /data/ext/cargo-vendor/{codeowners-0.3.2 → codeowners-0.3.3}/src/ownership/codeowners_file_parser.rs +0 -0
  111. /data/ext/cargo-vendor/{codeowners-0.3.2 → codeowners-0.3.3}/src/ownership/codeowners_query.rs +0 -0
  112. /data/ext/cargo-vendor/{codeowners-0.3.2 → codeowners-0.3.3}/src/ownership/file_owner_finder.rs +0 -0
  113. /data/ext/cargo-vendor/{codeowners-0.3.2 → codeowners-0.3.3}/src/ownership/file_owner_resolver.rs +0 -0
  114. /data/ext/cargo-vendor/{codeowners-0.3.2 → codeowners-0.3.3}/src/ownership/mapper/annotated_file_mapper.rs +0 -0
  115. /data/ext/cargo-vendor/{codeowners-0.3.2 → codeowners-0.3.3}/src/ownership/mapper/directory_mapper.rs +0 -0
  116. /data/ext/cargo-vendor/{codeowners-0.3.2 → codeowners-0.3.3}/src/ownership/mapper/escaper.rs +0 -0
  117. /data/ext/cargo-vendor/{codeowners-0.3.2 → codeowners-0.3.3}/src/ownership/mapper/package_mapper.rs +0 -0
  118. /data/ext/cargo-vendor/{codeowners-0.3.2 → codeowners-0.3.3}/src/ownership/mapper/team_gem_mapper.rs +0 -0
  119. /data/ext/cargo-vendor/{codeowners-0.3.2 → codeowners-0.3.3}/src/ownership/mapper/team_glob_mapper.rs +0 -0
  120. /data/ext/cargo-vendor/{codeowners-0.3.2 → codeowners-0.3.3}/src/ownership/mapper/team_yml_mapper.rs +0 -0
  121. /data/ext/cargo-vendor/{codeowners-0.3.2 → codeowners-0.3.3}/src/ownership/mapper.rs +0 -0
  122. /data/ext/cargo-vendor/{codeowners-0.3.2 → codeowners-0.3.3}/src/ownership.rs +0 -0
  123. /data/ext/cargo-vendor/{codeowners-0.3.2 → codeowners-0.3.3}/src/path_utils.rs +0 -0
  124. /data/ext/cargo-vendor/{codeowners-0.3.2 → codeowners-0.3.3}/src/project.rs +0 -0
  125. /data/ext/cargo-vendor/{codeowners-0.3.2 → codeowners-0.3.3}/src/project_builder.rs +0 -0
  126. /data/ext/cargo-vendor/{codeowners-0.3.2 → codeowners-0.3.3}/src/project_file_builder.rs +0 -0
  127. /data/ext/cargo-vendor/{codeowners-0.3.2 → codeowners-0.3.3}/src/runner/api.rs +0 -0
  128. /data/ext/cargo-vendor/{codeowners-0.3.2 → codeowners-0.3.3}/src/runner/types.rs +0 -0
  129. /data/ext/cargo-vendor/{codeowners-0.3.2 → codeowners-0.3.3}/src/runner.rs +0 -0
  130. /data/ext/cargo-vendor/{codeowners-0.3.2 → codeowners-0.3.3}/src/tracked_files.rs +0 -0
  131. /data/ext/cargo-vendor/{codeowners-0.3.2 → codeowners-0.3.3}/tests/cache_test.rs +0 -0
  132. /data/ext/cargo-vendor/{codeowners-0.3.2 → codeowners-0.3.3}/tests/codeowners_path_test.rs +0 -0
  133. /data/ext/cargo-vendor/{codeowners-0.3.2 → codeowners-0.3.3}/tests/common/mod.rs +0 -0
  134. /data/ext/cargo-vendor/{codeowners-0.3.2 → codeowners-0.3.3}/tests/crosscheck_owners_test.rs +0 -0
  135. /data/ext/cargo-vendor/{codeowners-0.3.2 → codeowners-0.3.3}/tests/fixtures/custom_codeowners_path/config/code_ownership.yml +0 -0
  136. /data/ext/cargo-vendor/{codeowners-0.3.2 → codeowners-0.3.3}/tests/fixtures/custom_codeowners_path/config/teams/test_team.yml +0 -0
  137. /data/ext/cargo-vendor/{codeowners-0.3.2 → codeowners-0.3.3}/tests/fixtures/custom_codeowners_path/docs/CODEOWNERS +0 -0
  138. /data/ext/cargo-vendor/{codeowners-0.3.2 → codeowners-0.3.3}/tests/fixtures/custom_codeowners_path/expected/CODEOWNERS +0 -0
  139. /data/ext/cargo-vendor/{codeowners-0.3.2 → codeowners-0.3.3}/tests/fixtures/custom_codeowners_path/ruby/app/models/test.rb +0 -0
  140. /data/ext/cargo-vendor/{codeowners-0.3.2 → codeowners-0.3.3}/tests/fixtures/custom_executable_name/app/foo.rb +0 -0
  141. /data/ext/cargo-vendor/{codeowners-0.3.2 → codeowners-0.3.3}/tests/fixtures/custom_executable_name/config/code_ownership.yml +0 -0
  142. /data/ext/cargo-vendor/{codeowners-0.3.2 → codeowners-0.3.3}/tests/fixtures/custom_executable_name/config/teams/foo.yml +0 -0
  143. /data/ext/cargo-vendor/{codeowners-0.3.2 → codeowners-0.3.3}/tests/fixtures/custom_executable_name/config/teams/payments.yml +0 -0
  144. /data/ext/cargo-vendor/{codeowners-0.3.2 → codeowners-0.3.3}/tests/fixtures/custom_executable_name/ruby/app/payments/foo.rb +0 -0
  145. /data/ext/cargo-vendor/{codeowners-0.3.2 → codeowners-0.3.3}/tests/fixtures/default_executable_name/app/bar.rb +0 -0
  146. /data/ext/cargo-vendor/{codeowners-0.3.2 → codeowners-0.3.3}/tests/fixtures/default_executable_name/config/code_ownership.yml +0 -0
  147. /data/ext/cargo-vendor/{codeowners-0.3.2 → codeowners-0.3.3}/tests/fixtures/default_executable_name/config/teams/bar.yml +0 -0
  148. /data/ext/cargo-vendor/{codeowners-0.3.2 → codeowners-0.3.3}/tests/fixtures/invalid_project/.github/CODEOWNERS +0 -0
  149. /data/ext/cargo-vendor/{codeowners-0.3.2 → codeowners-0.3.3}/tests/fixtures/invalid_project/config/code_ownership.yml +0 -0
  150. /data/ext/cargo-vendor/{codeowners-0.3.2 → codeowners-0.3.3}/tests/fixtures/invalid_project/config/teams/payments.yml +0 -0
  151. /data/ext/cargo-vendor/{codeowners-0.3.2 → codeowners-0.3.3}/tests/fixtures/invalid_project/config/teams/payroll.yml +0 -0
  152. /data/ext/cargo-vendor/{codeowners-0.3.2 → codeowners-0.3.3}/tests/fixtures/invalid_project/gems/payroll_calculator/calculator.rb +0 -0
  153. /data/ext/cargo-vendor/{codeowners-0.3.2 → codeowners-0.3.3}/tests/fixtures/invalid_project/ruby/app/models/bank_account.rb +0 -0
  154. /data/ext/cargo-vendor/{codeowners-0.3.2 → codeowners-0.3.3}/tests/fixtures/invalid_project/ruby/app/models/blockchain.rb +0 -0
  155. /data/ext/cargo-vendor/{codeowners-0.3.2 → codeowners-0.3.3}/tests/fixtures/invalid_project/ruby/app/models/payroll.rb +0 -0
  156. /data/ext/cargo-vendor/{codeowners-0.3.2 → codeowners-0.3.3}/tests/fixtures/invalid_project/ruby/app/payments/nacha.rb +0 -0
  157. /data/ext/cargo-vendor/{codeowners-0.3.2 → codeowners-0.3.3}/tests/fixtures/invalid_project/ruby/app/services/.codeowner +0 -0
  158. /data/ext/cargo-vendor/{codeowners-0.3.2 → codeowners-0.3.3}/tests/fixtures/invalid_project/ruby/app/services/multi_owned.rb +0 -0
  159. /data/ext/cargo-vendor/{codeowners-0.3.2 → codeowners-0.3.3}/tests/fixtures/invalid_project/ruby/app/unowned.rb +0 -0
  160. /data/ext/cargo-vendor/{codeowners-0.3.2 → codeowners-0.3.3}/tests/fixtures/invalid_project/ruby/packages/payroll_flow/package.yml +0 -0
  161. /data/ext/cargo-vendor/{codeowners-0.3.2 → codeowners-0.3.3}/tests/fixtures/javascript_only_project/.github/CODEOWNERS +0 -0
  162. /data/ext/cargo-vendor/{codeowners-0.3.2 → codeowners-0.3.3}/tests/fixtures/javascript_only_project/.keep +0 -0
  163. /data/ext/cargo-vendor/{codeowners-0.3.2 → codeowners-0.3.3}/tests/fixtures/javascript_only_project/config/code_ownership.yml +0 -0
  164. /data/ext/cargo-vendor/{codeowners-0.3.2 → codeowners-0.3.3}/tests/fixtures/javascript_only_project/config/teams/design.yml +0 -0
  165. /data/ext/cargo-vendor/{codeowners-0.3.2 → codeowners-0.3.3}/tests/fixtures/javascript_only_project/config/teams/frontend.yml +0 -0
  166. /data/ext/cargo-vendor/{codeowners-0.3.2 → codeowners-0.3.3}/tests/fixtures/javascript_only_project/frontend/apps/public/index.tsx +0 -0
  167. /data/ext/cargo-vendor/{codeowners-0.3.2 → codeowners-0.3.3}/tests/fixtures/javascript_only_project/frontend/packages/dashboard/package.json +0 -0
  168. /data/ext/cargo-vendor/{codeowners-0.3.2 → codeowners-0.3.3}/tests/fixtures/javascript_only_project/frontend/packages/dashboard/src/index.tsx +0 -0
  169. /data/ext/cargo-vendor/{codeowners-0.3.2 → codeowners-0.3.3}/tests/fixtures/javascript_only_project/frontend/packages/ui-kit/.codeowner +0 -0
  170. /data/ext/cargo-vendor/{codeowners-0.3.2 → codeowners-0.3.3}/tests/fixtures/javascript_only_project/frontend/packages/ui-kit/src/button.tsx +0 -0
  171. /data/ext/cargo-vendor/{codeowners-0.3.2 → codeowners-0.3.3}/tests/fixtures/missing_github_team/.github/CODEOWNERS +0 -0
  172. /data/ext/cargo-vendor/{codeowners-0.3.2 → codeowners-0.3.3}/tests/fixtures/missing_github_team/config/code_ownership.yml +0 -0
  173. /data/ext/cargo-vendor/{codeowners-0.3.2 → codeowners-0.3.3}/tests/fixtures/missing_github_team/config/teams/bad_team.yml +0 -0
  174. /data/ext/cargo-vendor/{codeowners-0.3.2 → codeowners-0.3.3}/tests/fixtures/missing_github_team/config/teams/good.yml +0 -0
  175. /data/ext/cargo-vendor/{codeowners-0.3.2 → codeowners-0.3.3}/tests/fixtures/missing_github_team/gems/pets/dog.rb +0 -0
  176. /data/ext/cargo-vendor/{codeowners-0.3.2 → codeowners-0.3.3}/tests/fixtures/multiple-directory-owners/.github/CODEOWNERS +0 -0
  177. /data/ext/cargo-vendor/{codeowners-0.3.2 → codeowners-0.3.3}/tests/fixtures/multiple-directory-owners/app/consumers/.codeowner +0 -0
  178. /data/ext/cargo-vendor/{codeowners-0.3.2 → codeowners-0.3.3}/tests/fixtures/multiple-directory-owners/app/consumers/deep/nesting/nestdir/deep_file.rb +0 -0
  179. /data/ext/cargo-vendor/{codeowners-0.3.2 → codeowners-0.3.3}/tests/fixtures/multiple-directory-owners/app/consumers/one_owner.rb +0 -0
  180. /data/ext/cargo-vendor/{codeowners-0.3.2 → codeowners-0.3.3}/tests/fixtures/multiple-directory-owners/app/services/.codeowner +0 -0
  181. /data/ext/cargo-vendor/{codeowners-0.3.2 → codeowners-0.3.3}/tests/fixtures/multiple-directory-owners/app/services/exciting/.codeowner +0 -0
  182. /data/ext/cargo-vendor/{codeowners-0.3.2 → codeowners-0.3.3}/tests/fixtures/multiple-directory-owners/app/services/exciting/some_other_file.rb +0 -0
  183. /data/ext/cargo-vendor/{codeowners-0.3.2 → codeowners-0.3.3}/tests/fixtures/multiple-directory-owners/config/code_ownership.yml +0 -0
  184. /data/ext/cargo-vendor/{codeowners-0.3.2 → codeowners-0.3.3}/tests/fixtures/multiple-directory-owners/config/teams/bar.yml +0 -0
  185. /data/ext/cargo-vendor/{codeowners-0.3.2 → codeowners-0.3.3}/tests/fixtures/multiple-directory-owners/config/teams/foo.yml +0 -0
  186. /data/ext/cargo-vendor/{codeowners-0.3.2 → codeowners-0.3.3}/tests/fixtures/valid_project/.github/CODEOWNERS +0 -0
  187. /data/ext/cargo-vendor/{codeowners-0.3.2 → codeowners-0.3.3}/tests/fixtures/valid_project/.ignore +0 -0
  188. /data/ext/cargo-vendor/{codeowners-0.3.2 → codeowners-0.3.3}/tests/fixtures/valid_project/config/code_ownership.yml +0 -0
  189. /data/ext/cargo-vendor/{codeowners-0.3.2 → codeowners-0.3.3}/tests/fixtures/valid_project/config/teams/payments.yml +0 -0
  190. /data/ext/cargo-vendor/{codeowners-0.3.2 → codeowners-0.3.3}/tests/fixtures/valid_project/config/teams/payroll.yml +0 -0
  191. /data/ext/cargo-vendor/{codeowners-0.3.2 → codeowners-0.3.3}/tests/fixtures/valid_project/config/teams/ux.yml +0 -0
  192. /data/ext/cargo-vendor/{codeowners-0.3.2 → codeowners-0.3.3}/tests/fixtures/valid_project/gems/payroll_calculator/calculator.rb +0 -0
  193. /data/ext/cargo-vendor/{codeowners-0.3.2 → codeowners-0.3.3}/tests/fixtures/valid_project/gems/pets/dog.rb +0 -0
  194. /data/ext/cargo-vendor/{codeowners-0.3.2 → codeowners-0.3.3}/tests/fixtures/valid_project/javascript/packages/PayrollFlow/index.tsx +0 -0
  195. /data/ext/cargo-vendor/{codeowners-0.3.2 → codeowners-0.3.3}/tests/fixtures/valid_project/javascript/packages/PayrollFlow/package.json +0 -0
  196. /data/ext/cargo-vendor/{codeowners-0.3.2 → codeowners-0.3.3}/tests/fixtures/valid_project/javascript/packages/items/(special)/.codeowner +0 -0
  197. /data/ext/cargo-vendor/{codeowners-0.3.2 → codeowners-0.3.3}/tests/fixtures/valid_project/javascript/packages/items/(special)/pay.ts +0 -0
  198. /data/ext/cargo-vendor/{codeowners-0.3.2 → codeowners-0.3.3}/tests/fixtures/valid_project/javascript/packages/items/.codeowner +0 -0
  199. /data/ext/cargo-vendor/{codeowners-0.3.2 → codeowners-0.3.3}/tests/fixtures/valid_project/javascript/packages/items/item.ts +0 -0
  200. /data/ext/cargo-vendor/{codeowners-0.3.2 → codeowners-0.3.3}/tests/fixtures/valid_project/javascript/packages/list/page-admin.tsx +0 -0
  201. /data/ext/cargo-vendor/{codeowners-0.3.2 → codeowners-0.3.3}/tests/fixtures/valid_project/ruby/app/models/bank_account.rb +0 -0
  202. /data/ext/cargo-vendor/{codeowners-0.3.2 → codeowners-0.3.3}/tests/fixtures/valid_project/ruby/app/models/payroll.rb +0 -0
  203. /data/ext/cargo-vendor/{codeowners-0.3.2 → codeowners-0.3.3}/tests/fixtures/valid_project/ruby/app/payments/foo/.codeowner +0 -0
  204. /data/ext/cargo-vendor/{codeowners-0.3.2 → codeowners-0.3.3}/tests/fixtures/valid_project/ruby/app/payments/foo/ownedby_payroll.rb +0 -0
  205. /data/ext/cargo-vendor/{codeowners-0.3.2 → codeowners-0.3.3}/tests/fixtures/valid_project/ruby/app/payments/nacha.rb +0 -0
  206. /data/ext/cargo-vendor/{codeowners-0.3.2 → codeowners-0.3.3}/tests/fixtures/valid_project/ruby/app/payroll/.codeowner +0 -0
  207. /data/ext/cargo-vendor/{codeowners-0.3.2 → codeowners-0.3.3}/tests/fixtures/valid_project/ruby/app/payroll/payroll.rb +0 -0
  208. /data/ext/cargo-vendor/{codeowners-0.3.2 → codeowners-0.3.3}/tests/fixtures/valid_project/ruby/app/views/foos/edit.erb +0 -0
  209. /data/ext/cargo-vendor/{codeowners-0.3.2 → codeowners-0.3.3}/tests/fixtures/valid_project/ruby/app/views/foos/index.html.erb +0 -0
  210. /data/ext/cargo-vendor/{codeowners-0.3.2 → codeowners-0.3.3}/tests/fixtures/valid_project/ruby/app/views/foos/new.html.erb +0 -0
  211. /data/ext/cargo-vendor/{codeowners-0.3.2 → codeowners-0.3.3}/tests/fixtures/valid_project/ruby/ignored_files/git_ignored.rb +0 -0
  212. /data/ext/cargo-vendor/{codeowners-0.3.2 → codeowners-0.3.3}/tests/fixtures/valid_project/ruby/packages/payroll_flow/package.yml +0 -0
  213. /data/ext/cargo-vendor/{codeowners-0.3.2 → codeowners-0.3.3}/tests/fixtures/valid_project/should_be_ignored/an_ignored_file.rb +0 -0
  214. /data/ext/cargo-vendor/{codeowners-0.3.2 → codeowners-0.3.3}/tests/fixtures/valid_project_with_overrides/.github/CODEOWNERS +0 -0
  215. /data/ext/cargo-vendor/{codeowners-0.3.2 → codeowners-0.3.3}/tests/fixtures/valid_project_with_overrides/config/code_ownership.yml +0 -0
  216. /data/ext/cargo-vendor/{codeowners-0.3.2 → codeowners-0.3.3}/tests/fixtures/valid_project_with_overrides/config/teams/brewers.yml +0 -0
  217. /data/ext/cargo-vendor/{codeowners-0.3.2 → codeowners-0.3.3}/tests/fixtures/valid_project_with_overrides/config/teams/cubs.yml +0 -0
  218. /data/ext/cargo-vendor/{codeowners-0.3.2 → codeowners-0.3.3}/tests/fixtures/valid_project_with_overrides/config/teams/giants.yml +0 -0
  219. /data/ext/cargo-vendor/{codeowners-0.3.2 → codeowners-0.3.3}/tests/fixtures/valid_project_with_overrides/config/teams/rockies.yml +0 -0
  220. /data/ext/cargo-vendor/{codeowners-0.3.2 → codeowners-0.3.3}/tests/fixtures/valid_project_with_overrides/frontend/packages/components/datepicker/package.json +0 -0
  221. /data/ext/cargo-vendor/{codeowners-0.3.2 → codeowners-0.3.3}/tests/fixtures/valid_project_with_overrides/frontend/packages/components/datepicker/src/picks/dp.tsx +0 -0
  222. /data/ext/cargo-vendor/{codeowners-0.3.2 → codeowners-0.3.3}/tests/fixtures/valid_project_with_overrides/frontend/packages/components/list/package.json +0 -0
  223. /data/ext/cargo-vendor/{codeowners-0.3.2 → codeowners-0.3.3}/tests/fixtures/valid_project_with_overrides/frontend/packages/components/list/src/item.tsx +0 -0
  224. /data/ext/cargo-vendor/{codeowners-0.3.2 → codeowners-0.3.3}/tests/fixtures/valid_project_with_overrides/frontend/packages/components/textfield/package.json +0 -0
  225. /data/ext/cargo-vendor/{codeowners-0.3.2 → codeowners-0.3.3}/tests/fixtures/valid_project_with_overrides/frontend/packages/components/textfield/src/field.tsx +0 -0
  226. /data/ext/cargo-vendor/{codeowners-0.3.2 → codeowners-0.3.3}/tests/fixtures/valid_project_with_overrides/frontend/packages/components/textfield/src/fields/small.tsx +0 -0
  227. /data/ext/cargo-vendor/{codeowners-0.3.2 → codeowners-0.3.3}/tests/fixtures/valid_project_with_overrides/gems/apollo/lib/apollo.rb +0 -0
  228. /data/ext/cargo-vendor/{codeowners-0.3.2 → codeowners-0.3.3}/tests/fixtures/valid_project_with_overrides/gems/ivy/lib/ivy.rb +0 -0
  229. /data/ext/cargo-vendor/{codeowners-0.3.2 → codeowners-0.3.3}/tests/fixtures/valid_project_with_overrides/gems/lager/lib/lager.rb +0 -0
  230. /data/ext/cargo-vendor/{codeowners-0.3.2 → codeowners-0.3.3}/tests/fixtures/valid_project_with_overrides/gems/summit/lib/summit.rb +0 -0
  231. /data/ext/cargo-vendor/{codeowners-0.3.2 → codeowners-0.3.3}/tests/fixtures/valid_project_with_overrides/packs/games/app/services/stats.rb +0 -0
  232. /data/ext/cargo-vendor/{codeowners-0.3.2 → codeowners-0.3.3}/tests/fixtures/valid_project_with_overrides/packs/games/package.yml +0 -0
  233. /data/ext/cargo-vendor/{codeowners-0.3.2 → codeowners-0.3.3}/tests/fixtures/valid_project_with_overrides/packs/locations/app/services/capacity.rb +0 -0
  234. /data/ext/cargo-vendor/{codeowners-0.3.2 → codeowners-0.3.3}/tests/fixtures/valid_project_with_overrides/packs/locations/package.yml +0 -0
  235. /data/ext/cargo-vendor/{codeowners-0.3.2 → codeowners-0.3.3}/tests/fixtures/valid_project_with_overrides/packs/schedule/app/services/date.rb +0 -0
  236. /data/ext/cargo-vendor/{codeowners-0.3.2 → codeowners-0.3.3}/tests/fixtures/valid_project_with_overrides/packs/schedule/package.yml +0 -0
  237. /data/ext/cargo-vendor/{codeowners-0.3.2 → codeowners-0.3.3}/tests/fixtures/valid_project_with_overrides/ruby/app/brewers/lib/util.rb +0 -0
  238. /data/ext/cargo-vendor/{codeowners-0.3.2 → codeowners-0.3.3}/tests/fixtures/valid_project_with_overrides/ruby/app/brewers/services/play.rb +0 -0
  239. /data/ext/cargo-vendor/{codeowners-0.3.2 → codeowners-0.3.3}/tests/fixtures/valid_project_with_overrides/ruby/app/cubs/.codeowner +0 -0
  240. /data/ext/cargo-vendor/{codeowners-0.3.2 → codeowners-0.3.3}/tests/fixtures/valid_project_with_overrides/ruby/app/cubs/services/models/.codeowner +0 -0
  241. /data/ext/cargo-vendor/{codeowners-0.3.2 → codeowners-0.3.3}/tests/fixtures/valid_project_with_overrides/ruby/app/cubs/services/models/db/price.rb +0 -0
  242. /data/ext/cargo-vendor/{codeowners-0.3.2 → codeowners-0.3.3}/tests/fixtures/valid_project_with_overrides/ruby/app/cubs/services/models/entertainment.rb +0 -0
  243. /data/ext/cargo-vendor/{codeowners-0.3.2 → codeowners-0.3.3}/tests/fixtures/valid_project_with_overrides/ruby/app/cubs/services/play.rb +0 -0
  244. /data/ext/cargo-vendor/{codeowners-0.3.2 → codeowners-0.3.3}/tests/fixtures/valid_project_with_overrides/ruby/app/giants/services/play.rb +0 -0
  245. /data/ext/cargo-vendor/{codeowners-0.3.2 → codeowners-0.3.3}/tests/fixtures/valid_project_with_overrides/ruby/app/rockies/services/play.rb +0 -0
  246. /data/ext/cargo-vendor/{codeowners-0.3.2 → codeowners-0.3.3}/tests/git_stage_test.rs +0 -0
  247. /data/ext/cargo-vendor/{codeowners-0.3.2 → codeowners-0.3.3}/tests/invalid_project_structure_test.rs +0 -0
  248. /data/ext/cargo-vendor/{codeowners-0.3.2 → codeowners-0.3.3}/tests/missing_github_team_test.rs +0 -0
  249. /data/ext/cargo-vendor/{codeowners-0.3.2 → codeowners-0.3.3}/tests/multiple_directory_owners_test.rs +0 -0
  250. /data/ext/cargo-vendor/{codeowners-0.3.2 → codeowners-0.3.3}/tests/run_config_executable_override_test.rs +0 -0
  251. /data/ext/cargo-vendor/{codeowners-0.3.2 → codeowners-0.3.3}/tests/runner_api.rs +0 -0
  252. /data/ext/cargo-vendor/{codeowners-0.3.2 → codeowners-0.3.3}/tests/untracked_files_test.rs +0 -0
  253. /data/ext/cargo-vendor/{codeowners-0.3.2 → codeowners-0.3.3}/tests/valid_project_test.rs +0 -0
  254. /data/ext/cargo-vendor/{codeowners-0.3.2 → codeowners-0.3.3}/tests/valid_project_with_overrides_test.rs +0 -0
  255. /data/ext/cargo-vendor/{codeowners-0.3.2 → codeowners-0.3.3}/tests/validate_files_test.rs +0 -0
  256. /data/ext/cargo-vendor/{codeowners-0.3.2 → codeowners-0.3.3}/tmp/.gitkeep +0 -0
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: d8fedeffce41aac3825e154fc451ffbacc71459b82811bb5d3cca37518f7de0a
4
- data.tar.gz: 96a9b124d2b197f2427f146bc86fccf7e450d52154b9f60e70661c0615a75f1f
3
+ metadata.gz: ba3096f686a127dd7c3fc0669ed1f3e763ef34fd3fa961ec78aa357a154efa4d
4
+ data.tar.gz: a04d31131291bf03006e792c6cdef4e347ba1b5ed74552f0934ab9190c9e448e
5
5
  SHA512:
6
- metadata.gz: fd4f8f0b52eb97cc6e40e22c86b46c8e7dc91d78d8e1bef65ce57167176b4130a92c2be1b9e33e0818ddfc3f3eb60659a385f3cb23eeffbbf4f4b9d0ba734fea
7
- data.tar.gz: f8d0f83ac58d7b70e46f7c50549c107bd30f6434a9584d1a794b5a192a1d0a23106db231f6ea4cc3449a3300a8ee3c029b1fafa7dd882e430c55528ed124c40b
6
+ metadata.gz: 30cbcc635fcd308c1c2cd3c8f1830debd9cb4ca85949d8c14332a781765edf42486f59160b892b2763136c6f36f20f58141c9f3a1a3e24cd86ee0e367c93f52b
7
+ data.tar.gz: 2e771a81b46f9388f95058f53a488462daf8559420783a09f1a56f354fe153471777895dbd0204a2e459dd52754ca00bcf118d47f8ebf33c98ba2c6b1a6a2561
data/.cargo/config CHANGED
@@ -1,9 +1,9 @@
1
1
  [source.crates-io]
2
2
  replace-with = "vendored-sources"
3
3
 
4
- [source."git+https://github.com/rubyatscale/codeowners-rs.git?tag=v0.3.2"]
4
+ [source."git+https://github.com/rubyatscale/codeowners-rs.git?tag=v0.3.3"]
5
5
  git = "https://github.com/rubyatscale/codeowners-rs.git"
6
- tag = "v0.3.2"
6
+ tag = "v0.3.3"
7
7
  replace-with = "vendored-sources"
8
8
 
9
9
  [source.vendored-sources]
data/Cargo.lock CHANGED
@@ -200,8 +200,8 @@ dependencies = [
200
200
 
201
201
  [[package]]
202
202
  name = "codeowners"
203
- version = "0.3.2"
204
- source = "git+https://github.com/rubyatscale/codeowners-rs.git?tag=v0.3.2#49629b131eb788916ff5e6722719513026260480"
203
+ version = "0.3.3"
204
+ source = "git+https://github.com/rubyatscale/codeowners-rs.git?tag=v0.3.3#437a527fe02b620e77723cc4e3090bdb0a42bdb3"
205
205
  dependencies = [
206
206
  "clap",
207
207
  "clap_derive",
@@ -220,6 +220,7 @@ dependencies = [
220
220
  "serde",
221
221
  "serde_json",
222
222
  "serde_yaml",
223
+ "similar",
223
224
  "tempfile",
224
225
  "tracing",
225
226
  "tracing-subscriber",
@@ -848,6 +849,12 @@ version = "1.3.0"
848
849
  source = "registry+https://github.com/rust-lang/crates.io-index"
849
850
  checksum = "0fda2ff0d084019ba4d7c6f371c95d8fd75ce3524c3cb8fb653a3023f6323e64"
850
851
 
852
+ [[package]]
853
+ name = "similar"
854
+ version = "2.7.0"
855
+ source = "registry+https://github.com/rust-lang/crates.io-index"
856
+ checksum = "bbbb5d9659141646ae647b42fe094daf6c6192d1620870b449d9557f748b2daa"
857
+
851
858
  [[package]]
852
859
  name = "smallvec"
853
860
  version = "1.15.1"
@@ -1 +1 @@
1
- {"files":{".github/CODEOWNERS":"8df3f986d37e09c1e9d8102c45e8776a506cd56b75a9fe03270626e4843c0ad0",".github/workflows/audit.yml":"bde77859031fa481da1fcaf399129b64819d78a0ffbbb2d4c4f5346f4a4dec7e",".github/workflows/ci.yml":"a4b503d5b650f4d59d7e02b3a33f623c373f1ae8c892b6ddcc47b271b7d109db",".github/workflows/dotslash-config.json":"21dbdefc13a01f3aad42923963b9025907d4049d8e75b18208e887f9e601e381",".rustfmt.toml":"394616646760b18ed094433d39e18b7d94986347c21790708bff9ab001f38e0b",".rusty-hook.toml":"9d3d8a8f4f20d80682ce71889a17eb5ba204f4636f27211fafcb6c6b5af5c2bb","AGENTS.md":"9cab0708a38900826f5b5804fc921ea3aea293f533727100bcfb5735f7835d05","CLAUDE.md":"336cc4fbf19beaada7ccf9986414fa91851a8d7a07dfb3ccbe800a69eed0ab49","Cargo.lock":"78fffcf69a203c94181059deecd0733495c85d5947b7765329f39f5aae3f7cf9","Cargo.toml":"6f0840ff57ba26a1ce127a4439107b2d7270d22b87987663b2039edc13aaeb19","README.md":"11b96c2361db6e2ad82fecb354b767d55d7f77656694e10990685fe8c6c644bb","dev/run_benchmarks_for_file.sh":"f633c0fbfd1ea89b3fb21cf2721ab481670cf2de8d424bb4448a4ad5e908c38d","dev/run_benchmarks_for_gv.sh":"c3e26bed04b3f2ab5dce3372db249349990b9033fe5ed963d5b7f58a4a72ffbf","rust-toolchain.toml":"b6a9e4028a0a266a7d2055c287092b816c89336df42076dec9d9aaa4c0007c0e","src/cache/file.rs":"7ffe92cce38b2a21e8d9f7eb85b50e54a90523546a68b5441b423204b9aae940","src/cache/mod.rs":"622ad6effc3260c922fe49f3800e0d1c5b3c6a73c81d567296ea6cb550792d32","src/cache/noop.rs":"abfddf1c20cbaca5dd432952d0ff0a0a1d92eb0070866d343e368f29cdd22de9","src/cli.rs":"ddee568b1a2e3de96027e6e2caa9f0ece5f677ecc66671676100b14d3ab51353","src/common_test.rs":"9df12547039d3d99dd7dd8798a35960892f7bbcf74036adbdcf4a14b8567a743","src/config.rs":"2646a547371617acb0935941f134a131d66174ecd156792e644b7ab3d49c0b74","src/crosscheck.rs":"f5f52c735e09da7fa413c51c2f81a349f8c62782041c7649fc18909d59efcea6","src/lib.rs":"8a2946ae156e306a2245857e295886a369fa2c3ef2bace585185f64c47e293be","src/main.rs":"51f0621733107ff3505cfffdf84b557e7fdbc79189f55561d8fb9ad550d6fb78","src/ownership.rs":"29287dd073294afd2826b6754175d09ca87773191af2218487ff9e703ccd2035","src/ownership/codeowners_file_parser.rs":"0f798722af3a0adb0b8b790e871e56257d9f265ed2d8542f0d202eca5afca2f4","src/ownership/codeowners_query.rs":"30556b0ee2c38c1ca9283763df1ad7ddd7f964bc8d449c0bf2f935c387fe1673","src/ownership/file_generator.rs":"8b5d3fd03733f1b1c1b76be0b20467f2b50799d2a3a7806dc3df52147a470a46","src/ownership/file_owner_finder.rs":"104626da603ddcaccb217387f13141c81fb768b41cf8b7fbc5f65809f487231b","src/ownership/file_owner_resolver.rs":"02d72fd4edeaad36b3454fe1c1e638665d208a14c09a8dd26465fad4a5bd90e2","src/ownership/mapper.rs":"a3bd5bc0bf7423fd061a044bd9fcc1d1b6bccd24e914b1f90a10a6fac56cc2f9","src/ownership/mapper/annotated_file_mapper.rs":"f34f845ddb45545f02f8ae2ab83c3934bc38dd95f9ba9d4142e12f61dfac271a","src/ownership/mapper/directory_mapper.rs":"a86866b518efbfdbb056a2d472c981eec875f2ddca5899f029405b76e875b018","src/ownership/mapper/escaper.rs":"2faa41beefedca26d493e8d8f68882384ddbb2c4b108953f30b960847a3f841c","src/ownership/mapper/package_mapper.rs":"394297b4c5890fb3a6b0289b78cec63fbb2e15fb4dc043e9d3ba0cb00769b7f6","src/ownership/mapper/team_gem_mapper.rs":"50b6ad9e60c03e055662724296576b4586167b0d7d6c03819f98b30c0f37342f","src/ownership/mapper/team_glob_mapper.rs":"ce0638118ec9c610210880534a62740f9bd4d15494b0b9516bcc11fa2bbfb508","src/ownership/mapper/team_yml_mapper.rs":"3c759139fc9ff362b82102aeaec958aec7ec9df86df87482a3362ab8ea54404f","src/ownership/validator.rs":"f775ebe330f48a6988fdb911a138b0ba4939423112e5e3647a7c38b73cccbbe2","src/path_utils.rs":"de5f7fc080f372ca025f777a5018319236f5b83c2c1ac77f9a387e62ce683ab4","src/project.rs":"26fac1893915f978f32eb80c5a8cf39ff37dc05f77e445e7e4fea8aba36a8f7c","src/project_builder.rs":"725a19d4e68cac2d7348bcfbc2b9c8b35f1d789247a3746e3adb70277485d1ac","src/project_file_builder.rs":"d0be8786d8160ad40d2286c9e43e11df1d38dbb7f7c84f5029d4656b19d75cbf","src/runner.rs":"7ab4f07660e249f5301e8944ab82e24df48012f6fa7a70ea81b8ef912cce8f8d","src/runner/api.rs":"c7e9815fbf654665da9d11d6b2405f623ed2fc36b93c37db212421351e9a779b","src/runner/types.rs":"30be32563f7fee61ca991618874dda497ccbe1d7c3fde4c023fd9eaa90ce7853","src/tracked_files.rs":"85ab07d649a5a9d90181489f8ebb7c173af4547ca267bc277b5bcf7534715823","tests/cache_test.rs":"80b900f38e177eb8c9e162b9373cd1d7c3a551baade716a1b07554a021bfef05","tests/codeowners_path_test.rs":"6e10631bcd93bbb850eed2818de057f0621c714137a11676f0a689f775699f52","tests/common/mod.rs":"ea2b9de36002a946c3ab6ed4101ff7c395c7a0f9ac143c12618a3d27fc8e15e4","tests/crosscheck_owners_test.rs":"8f83ec2feb7bef1cf34fec445096a342900359e5efed3b0b9485d48dad6e704d","tests/executable_name_config_test.rs":"193f675cd4b48798c1d536b3e07abe602bec580035f22ef143bf2e4fca00fbb0","tests/fixtures/custom_codeowners_path/config/code_ownership.yml":"3c9a4b046bab1f4d842e728dc9dea32ec09e7d01b6db5d1726e71ab330773b0e","tests/fixtures/custom_codeowners_path/config/teams/test_team.yml":"93ecfdd871a5e12e11293fd920988f82a67cb1a6fe39740a988a3e3fd0fda68f","tests/fixtures/custom_codeowners_path/docs/CODEOWNERS":"53db3b0313340fc5ce3a4c8050d1d8e7c1fb4fae1050e5bb047d3b211afed272","tests/fixtures/custom_codeowners_path/expected/CODEOWNERS":"53db3b0313340fc5ce3a4c8050d1d8e7c1fb4fae1050e5bb047d3b211afed272","tests/fixtures/custom_codeowners_path/ruby/app/models/test.rb":"d4218b8bc15617dd06a04632896ff45547545d2b1a0847adf5db860ac7ca060f","tests/fixtures/custom_executable_name/.github/CODEOWNERS":"1cbe2dc8b6f050c3ab084aeb6182abed325274a95101ccb74d7410bb9e787cca","tests/fixtures/custom_executable_name/app/foo.rb":"083a6a7028749e3ef5397011b695037d958d5535cc332f666a853f06649cc0e4","tests/fixtures/custom_executable_name/config/code_ownership.yml":"107fab4d8816bcf1d0f70663450db390b713bdaa45a16ffbc7095663d44b5ca1","tests/fixtures/custom_executable_name/config/teams/foo.yml":"e2ebda8a83ab460456238351c112fa34fd056603ab556ef86afb10565aaa4398","tests/fixtures/custom_executable_name/config/teams/payments.yml":"9a333c4b5ad8abb3cc0610fa5562e499dc5665bbdd25755ba39b13ebea08940b","tests/fixtures/custom_executable_name/ruby/app/payments/foo.rb":"e4e0884c8dbbb76a53fa1a1877925cef81724fc8618d73056857209820acd42f","tests/fixtures/default_executable_name/.github/CODEOWNERS":"3520d8681f4c8958ac29fecf5ce12d95bef7e5376f07b80cdca09611a092087e","tests/fixtures/default_executable_name/app/bar.rb":"522851f30712c0df9f444af429a0e2bbfb9d095c0af3b4bdb925eb80d088680e","tests/fixtures/default_executable_name/config/code_ownership.yml":"85c44e76a650b80a46eadc44bc4e6f184a8d405b63b2bf186726b2974e083a2f","tests/fixtures/default_executable_name/config/teams/bar.yml":"8a4369cf629089eec906495d05f3ef58ece3e17dd860e452cceec18bad1dfcef","tests/fixtures/invalid_project/.github/CODEOWNERS":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","tests/fixtures/invalid_project/config/code_ownership.yml":"395b9023f51a29b8326a230c82543d8e8e7656376b4d82b1e77c7c5879620a30","tests/fixtures/invalid_project/config/teams/payments.yml":"205b0d200a5b686ad91c4080eadeefef200cc4974939b5ef02c15ef2edf775a1","tests/fixtures/invalid_project/config/teams/payroll.yml":"f3a85ce896837c2a9d38c2d23a600b1fd72f3bf8c4c65c12719ce942b3b17375","tests/fixtures/invalid_project/gems/payroll_calculator/calculator.rb":"350c85edfe24cd54b2479eda5266aae894b4c5eb6e9a3c0a0a1fb30e8c4d1d0f","tests/fixtures/invalid_project/ruby/app/models/bank_account.rb":"0832b2e95f90fa7ebd8dcbfd53c05618f091d38abf5dd238bd4d41645746160d","tests/fixtures/invalid_project/ruby/app/models/blockchain.rb":"9ffaa2304d02b8d40050017b62edbaf61b8600dc0b1a2c5b7f069b7c55c30616","tests/fixtures/invalid_project/ruby/app/models/payroll.rb":"7f48f8730fd738a2760ee81be8a6028cccb3c6c38be0433c7fd81a4bdd631b60","tests/fixtures/invalid_project/ruby/app/payments/nacha.rb":"c5ced2841986f3d48be0a132185a39dbc327715064574887303a25cf02aaad4d","tests/fixtures/invalid_project/ruby/app/services/.codeowner":"53fe8dfb6d9e1b03219adddcc3ffb741557dd579dc653d026097c463def4a8fe","tests/fixtures/invalid_project/ruby/app/services/multi_owned.rb":"42b340c67ad95016eb7e852abe37b39f7a0b5be41f897f972e05d2e581d6c30f","tests/fixtures/invalid_project/ruby/app/unowned.rb":"e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855","tests/fixtures/invalid_project/ruby/packages/payroll_flow/package.yml":"c1a08643821d02a57131870e8b6325f864db0687c5583f3d0872ada9d004072a","tests/fixtures/javascript_only_project/.github/CODEOWNERS":"fbd7770603296872c5993d1325a2d00a8d1704ad99002db9ab0dccc7182e3b37","tests/fixtures/javascript_only_project/.keep":"ff2dc9018b2c43a9793444552abcf83560daf5f7b1733bf7dbcaed4ee97db60e","tests/fixtures/javascript_only_project/config/code_ownership.yml":"b9cdde18cb0f0e8c025342c8d633197c401083f475ef34d7f9228ef343a0ba21","tests/fixtures/javascript_only_project/config/teams/design.yml":"6db44f08e2b0fb9e5bd91a83ba122025cf7e7a008703c39df9d0b10306a6e752","tests/fixtures/javascript_only_project/config/teams/frontend.yml":"f9fa6eee0ed9fc5a0b44485c306bb11785f9120a871c5e0bc074a5eacb808686","tests/fixtures/javascript_only_project/frontend/apps/public/index.tsx":"b3c88c0731b4b739d120f161266a501743a58577db571702dc6f3f0fd1483b4d","tests/fixtures/javascript_only_project/frontend/packages/dashboard/package.json":"3dd571d4d569608311ddab4a99cfe5596ab4c29fd0bade76ee9756cf28b0ac48","tests/fixtures/javascript_only_project/frontend/packages/dashboard/src/index.tsx":"5ef179897d55e9e8c6b70e5ad82803b11f0fcd5cfb3c7313e87b839798608e15","tests/fixtures/javascript_only_project/frontend/packages/ui-kit/.codeowner":"b5f4517c94406cb8d45702193f8282b62af30971d068e79d7bc2fd930cb0bb4c","tests/fixtures/javascript_only_project/frontend/packages/ui-kit/src/button.tsx":"7c18c050058f884a7f096b9fd4b1ccf853bc4e84dd786b5a92c5f0479b32f128","tests/fixtures/missing_github_team/.github/CODEOWNERS":"2a2f3c33c892b3ca170925e6f428d6bd506008f8343c67f640f55741ff22d611","tests/fixtures/missing_github_team/config/code_ownership.yml":"eb683ba7b42f810b457e1181626c6eb3b44bd5c80ba396bc0e8d29334a8187bf","tests/fixtures/missing_github_team/config/teams/bad_team.yml":"93cc7413631ce8fd5f95d083c9061f923de32e7c756bc6f0c9b17d593e4c4c12","tests/fixtures/missing_github_team/config/teams/good.yml":"bb8d9ea5106b9b87d17b3e72de7802f39f1879764fd99b13738cfdb43d503973","tests/fixtures/missing_github_team/gems/pets/dog.rb":"ed2553442d1646af1c421a7a04b92269612efbc5ec0ccb32930e27ceac65b2ea","tests/fixtures/multiple-directory-owners/.github/CODEOWNERS":"957d160c3d00eb530f7ebb34cc9b7c61934d108eb52ce3cb03b6d9978fad86df","tests/fixtures/multiple-directory-owners/app/consumers/.codeowner":"842c88863910f6eab22edcbdbe9f0f4dd96c6b46c711bd40277b36b8178943c4","tests/fixtures/multiple-directory-owners/app/consumers/deep/nesting/nestdir/deep_file.rb":"e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855","tests/fixtures/multiple-directory-owners/app/consumers/one_owner.rb":"e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855","tests/fixtures/multiple-directory-owners/app/services/.codeowner":"3eae1599bb7f187b86d6427942d172ba8dd7ee5962aab03e0839ad9d59c37eb0","tests/fixtures/multiple-directory-owners/app/services/exciting/.codeowner":"842c88863910f6eab22edcbdbe9f0f4dd96c6b46c711bd40277b36b8178943c4","tests/fixtures/multiple-directory-owners/app/services/exciting/some_other_file.rb":"c0cf1112663d326ba9b47fbcf961e98170c32e9287d5af574c35b3350fb3c59a","tests/fixtures/multiple-directory-owners/config/code_ownership.yml":"fcff2625d3a836924e75afd4a326c8f425a9ac4b4c5ffe276b8a14a083cc005a","tests/fixtures/multiple-directory-owners/config/teams/bar.yml":"253d9d9cb7f5b5cb81af19d8af7631b510d0f4ad59b32465c5e26bd78886f9c6","tests/fixtures/multiple-directory-owners/config/teams/foo.yml":"d4ba6d61c16e4227681f13013775e3d117e0cee4631714849405c47ff36ecbfc","tests/fixtures/valid_project/.github/CODEOWNERS":"ca6a9b2a225685b478fb7b542dd63ab945cd51ccd82b4d86495b3a3d7c020b6c","tests/fixtures/valid_project/.ignore":"68f30767f9c87c700952d52d9d39693e1a98efb6c07a0b9216fbc87d173ebb5e","tests/fixtures/valid_project/config/code_ownership.yml":"1443a689ff1b64d23cf6590b5d559ef386b549815f51bfe8a27ecd5f3111a5b8","tests/fixtures/valid_project/config/teams/payments.yml":"7c4edf4ab7db59c1ef13ef4e7aa498c8e8c23c19427ebebe4f43bca003619f2a","tests/fixtures/valid_project/config/teams/payroll.yml":"f3a85ce896837c2a9d38c2d23a600b1fd72f3bf8c4c65c12719ce942b3b17375","tests/fixtures/valid_project/config/teams/ux.yml":"918e96ab1b5c67c99b30b8e984c2cef8fa956b1c83802a76923b3f448bcdec62","tests/fixtures/valid_project/gems/payroll_calculator/calculator.rb":"991056cdd4824eea15055f9c055c22fb3281cc21cffbca94724b330b8a450e59","tests/fixtures/valid_project/gems/pets/dog.rb":"ed2553442d1646af1c421a7a04b92269612efbc5ec0ccb32930e27ceac65b2ea","tests/fixtures/valid_project/javascript/packages/PayrollFlow/index.tsx":"b78b223d3bdb83af6ef7f78bd305f6e18f11abf961ded3266f7bebdb9eb00686","tests/fixtures/valid_project/javascript/packages/PayrollFlow/package.json":"271a0bb50784a65df66fd5db7167d1dd67430c774c207eda58a96974dbafc408","tests/fixtures/valid_project/javascript/packages/items/(special)/.codeowner":"632e1c5839411a1009ef268e992c4b183cb1d5381b198eac0f8323213a61ed82","tests/fixtures/valid_project/javascript/packages/items/(special)/pay.ts":"e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855","tests/fixtures/valid_project/javascript/packages/items/.codeowner":"53fe8dfb6d9e1b03219adddcc3ffb741557dd579dc653d026097c463def4a8fe","tests/fixtures/valid_project/javascript/packages/items/item.ts":"e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855","tests/fixtures/valid_project/javascript/packages/list/page-admin.tsx":"4785eb6da46cfac5a74130f51a032d565824a0cfdde8f853530bd1e16baa8a95","tests/fixtures/valid_project/ruby/app/models/bank_account.rb":"0832b2e95f90fa7ebd8dcbfd53c05618f091d38abf5dd238bd4d41645746160d","tests/fixtures/valid_project/ruby/app/models/payroll.rb":"00214579a6b59629d74eb60e315b9e1cd77889ba54d46f0fa8e2936e7fbc4c53","tests/fixtures/valid_project/ruby/app/payments/foo/.codeowner":"53fe8dfb6d9e1b03219adddcc3ffb741557dd579dc653d026097c463def4a8fe","tests/fixtures/valid_project/ruby/app/payments/foo/ownedby_payroll.rb":"705296c5ae6b3c1efdb410c952095b6efba3f9edd0af1b42d20e6ba217b1744d","tests/fixtures/valid_project/ruby/app/payments/nacha.rb":"c5ced2841986f3d48be0a132185a39dbc327715064574887303a25cf02aaad4d","tests/fixtures/valid_project/ruby/app/payroll/.codeowner":"b58412ec67186588652c88a6c71fd7499e27984e1e587e137426bed8ddd53173","tests/fixtures/valid_project/ruby/app/payroll/payroll.rb":"ff6cb08457469043bd93b4fdbcecc37a29a506641ab486f9cafd319125ff00ca","tests/fixtures/valid_project/ruby/app/views/foos/edit.erb":"47a411fb8b793bf622fdb956f89a3b20835cd92201b61141f09748f8ff55ee21","tests/fixtures/valid_project/ruby/app/views/foos/index.html.erb":"4b7fd88053dfa83a4131200ed3196b41938e4a68119570e4aa1652ecdd7c6bfe","tests/fixtures/valid_project/ruby/app/views/foos/new.html.erb":"47a411fb8b793bf622fdb956f89a3b20835cd92201b61141f09748f8ff55ee21","tests/fixtures/valid_project/ruby/ignored_files/git_ignored.rb":"fb333306f05e93ff821123b1c09d264c5f37f1bd739156d91167789795704671","tests/fixtures/valid_project/ruby/packages/payroll_flow/package.yml":"c1a08643821d02a57131870e8b6325f864db0687c5583f3d0872ada9d004072a","tests/fixtures/valid_project/should_be_ignored/an_ignored_file.rb":"bd5ce0746f05ded73148e184b36741f3846e0af7409b42c16abae54a9220113a","tests/fixtures/valid_project_with_overrides/.github/CODEOWNERS":"99438c376b9ef057e5182f0197b42f7bb644773d181f1f94f3a7b2028052af34","tests/fixtures/valid_project_with_overrides/config/code_ownership.yml":"d4349ca21efdfd2a8247907db492e85aecea013f3977fabc5cc1a8a6411f7c3d","tests/fixtures/valid_project_with_overrides/config/teams/brewers.yml":"c45a00561fdaa703ed3a044a5c0271bd9d3e9fad64c3df58e17b07c38d151907","tests/fixtures/valid_project_with_overrides/config/teams/cubs.yml":"1bb8b70d29e97b2c78f35f84be18cafe2f3334bd81c45601217b1abdfcbdb088","tests/fixtures/valid_project_with_overrides/config/teams/giants.yml":"fdaead5b59332f408abc7e6a099f4773be232942532ae501aadc6d7f0110e302","tests/fixtures/valid_project_with_overrides/config/teams/rockies.yml":"0334aa2d3ba78261fb776f565ef38f1e19638e0fa5e05cae5785cec036ca7138","tests/fixtures/valid_project_with_overrides/frontend/packages/components/datepicker/package.json":"02e3dd340b4c1ab53bc2925164666b7c8c92cfb5afff7cdffcbb0760c0f23b56","tests/fixtures/valid_project_with_overrides/frontend/packages/components/datepicker/src/picks/dp.tsx":"7709ee4137249bf9d5c38687533304e7e04a174d233bc6f6e8a1f0de54689907","tests/fixtures/valid_project_with_overrides/frontend/packages/components/list/package.json":"9b95dfa430e9167629e1d908ccbef8ed17e3818fcc04c10cd11aee1ba806f8d9","tests/fixtures/valid_project_with_overrides/frontend/packages/components/list/src/item.tsx":"8360b4a2d4b8705c5d070b0834e7f4d1e8fc3fdac4221dd5a1ac33a2b256d1bb","tests/fixtures/valid_project_with_overrides/frontend/packages/components/textfield/package.json":"5676381fcd3acf9d7daa0f28eaf47b7fc481b7b826469655675ddd0bd4548429","tests/fixtures/valid_project_with_overrides/frontend/packages/components/textfield/src/field.tsx":"6821d8fe047c903a1b4a897ed1bed9638e556098db653518c3700507236a9cdc","tests/fixtures/valid_project_with_overrides/frontend/packages/components/textfield/src/fields/small.tsx":"18d9323ac98ac4bd4a685193763e1f29426be5ac8c4d7e7975945d79644226fd","tests/fixtures/valid_project_with_overrides/gems/apollo/lib/apollo.rb":"0470c442f361f8df49268fc1ea6d84f9512598d43595d54d6bda896a13e144f5","tests/fixtures/valid_project_with_overrides/gems/ivy/lib/ivy.rb":"54f5443bef6aebcb63ab0501f418c8b03928514a8a7ac9ed41d35dfb619a24b1","tests/fixtures/valid_project_with_overrides/gems/lager/lib/lager.rb":"d90ceebb7bc6156b2e3b3a88274f6a330f6b33f1b7404a3d1561618d9ae261f3","tests/fixtures/valid_project_with_overrides/gems/summit/lib/summit.rb":"ef61bf61c1d574c562d8d2d7e6692e0bb0cdb3e02b49691d3558cb205a6b3d27","tests/fixtures/valid_project_with_overrides/packs/games/app/services/stats.rb":"e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855","tests/fixtures/valid_project_with_overrides/packs/games/package.yml":"d44cb7e67286294b43fc51e7eefd36fecb488bd7e3aa1c15ba5e2f0fd1364806","tests/fixtures/valid_project_with_overrides/packs/locations/app/services/capacity.rb":"e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855","tests/fixtures/valid_project_with_overrides/packs/locations/package.yml":"ae1e90f7aadaa78fed7c97083dd0f46b394e53b848c08cf370b59c0f8de25e1c","tests/fixtures/valid_project_with_overrides/packs/schedule/app/services/date.rb":"e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855","tests/fixtures/valid_project_with_overrides/packs/schedule/package.yml":"e97c4d452c4656b9e7b3c22093d5969c4a59a8c019a4fc7ef513c5748f6a9ede","tests/fixtures/valid_project_with_overrides/ruby/app/brewers/lib/util.rb":"92be44095fe84e95ea5ce3f5b42cc9681063646135c8163017a56d407a367005","tests/fixtures/valid_project_with_overrides/ruby/app/brewers/services/play.rb":"1c4d38afc6eed1eac4681fa774dfc1fbcad894b245616c88efcf7afff21e7762","tests/fixtures/valid_project_with_overrides/ruby/app/cubs/.codeowner":"870f5b1fed86d50ea4a808b13b307f172b5e39b9be296cff27ad9babbcd384e9","tests/fixtures/valid_project_with_overrides/ruby/app/cubs/services/models/.codeowner":"d706f1c0496146d6009e700d1e78c4f0f0927edf73c656ec59fccf40a72d4291","tests/fixtures/valid_project_with_overrides/ruby/app/cubs/services/models/db/price.rb":"b571b23154f35a482975537bb752975c7957d78b02163842e9afb52513e3b8ce","tests/fixtures/valid_project_with_overrides/ruby/app/cubs/services/models/entertainment.rb":"e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855","tests/fixtures/valid_project_with_overrides/ruby/app/cubs/services/play.rb":"e4b77f45119ecc9cead0a189f90295ff16e15a35c38763bd0942b5aa6aad83b2","tests/fixtures/valid_project_with_overrides/ruby/app/giants/services/play.rb":"e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855","tests/fixtures/valid_project_with_overrides/ruby/app/rockies/services/play.rb":"e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855","tests/git_stage_test.rs":"145b13404ccec67a420fbc59e8b137cd394e612b2bab1f76d7e175c29ef7d4ab","tests/invalid_project_structure_test.rs":"af048ddfa756bc2e187ea885ea533a4b67907c5bcc531a082ffceca0728649b4","tests/invalid_project_test.rs":"7dbb00616f95308c5b597f09faa8721c2df416d5dfc00b95a9698a5ee1c4919d","tests/missing_github_team_test.rs":"e279592be3a68bb348066f90543f9ec8e702d2876cd524a55acaaf86a579fea7","tests/multiple_directory_owners_test.rs":"8fec90a2c1bcdd8886987a33d9c4afcd0094ce102cfa3d0415bcc2b5354eae80","tests/run_config_executable_override_test.rs":"1ffac121827dc2065460ff0ae4243704084441bc6d642396bc5e9a1d01c5b401","tests/runner_api.rs":"aa8d909b760e43f30c7b3b9dff761c6dd917ea51feb5baeb33ed191475a0fc3f","tests/untracked_files_test.rs":"f4c1906b6591ae7f206f3ac0838c99a35c5fb81f650928ed929e6246549d9874","tests/valid_project_test.rs":"4c76f2770f80c6a6d720a2ee970c176f7a813a5f3af6d0086f866478248c9e11","tests/valid_project_with_overrides_test.rs":"77150218cc4e6d7527d910d89cc3303f8d02671e6686069a41e2484b4fa31f59","tests/validate_files_test.rs":"517eb0f41405f2b1b3a69487c2a4fe526736bbadacce57e0fa0b57e5fba381df","tmp/.gitkeep":"e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855"},"package":null}
1
+ {"files":{".github/CODEOWNERS":"8df3f986d37e09c1e9d8102c45e8776a506cd56b75a9fe03270626e4843c0ad0",".github/workflows/audit.yml":"bde77859031fa481da1fcaf399129b64819d78a0ffbbb2d4c4f5346f4a4dec7e",".github/workflows/ci.yml":"a4b503d5b650f4d59d7e02b3a33f623c373f1ae8c892b6ddcc47b271b7d109db",".github/workflows/dotslash-config.json":"21dbdefc13a01f3aad42923963b9025907d4049d8e75b18208e887f9e601e381",".rustfmt.toml":"394616646760b18ed094433d39e18b7d94986347c21790708bff9ab001f38e0b",".rusty-hook.toml":"9d3d8a8f4f20d80682ce71889a17eb5ba204f4636f27211fafcb6c6b5af5c2bb","AGENTS.md":"9cab0708a38900826f5b5804fc921ea3aea293f533727100bcfb5735f7835d05","CLAUDE.md":"336cc4fbf19beaada7ccf9986414fa91851a8d7a07dfb3ccbe800a69eed0ab49","Cargo.lock":"c67a0bc2198625fb8d2256ec4e57f15ee05237633b85f44a12dd67f92a590a21","Cargo.toml":"ef7fef0923fa64a6cbebc994825e47d87ccfc0176668105b1411b9f06712d93c","README.md":"11b96c2361db6e2ad82fecb354b767d55d7f77656694e10990685fe8c6c644bb","dev/run_benchmarks_for_file.sh":"f633c0fbfd1ea89b3fb21cf2721ab481670cf2de8d424bb4448a4ad5e908c38d","dev/run_benchmarks_for_gv.sh":"c3e26bed04b3f2ab5dce3372db249349990b9033fe5ed963d5b7f58a4a72ffbf","rust-toolchain.toml":"b6a9e4028a0a266a7d2055c287092b816c89336df42076dec9d9aaa4c0007c0e","src/cache/file.rs":"7ffe92cce38b2a21e8d9f7eb85b50e54a90523546a68b5441b423204b9aae940","src/cache/mod.rs":"622ad6effc3260c922fe49f3800e0d1c5b3c6a73c81d567296ea6cb550792d32","src/cache/noop.rs":"abfddf1c20cbaca5dd432952d0ff0a0a1d92eb0070866d343e368f29cdd22de9","src/cli.rs":"ddee568b1a2e3de96027e6e2caa9f0ece5f677ecc66671676100b14d3ab51353","src/common_test.rs":"9df12547039d3d99dd7dd8798a35960892f7bbcf74036adbdcf4a14b8567a743","src/config.rs":"2646a547371617acb0935941f134a131d66174ecd156792e644b7ab3d49c0b74","src/crosscheck.rs":"f5f52c735e09da7fa413c51c2f81a349f8c62782041c7649fc18909d59efcea6","src/lib.rs":"8a2946ae156e306a2245857e295886a369fa2c3ef2bace585185f64c47e293be","src/main.rs":"51f0621733107ff3505cfffdf84b557e7fdbc79189f55561d8fb9ad550d6fb78","src/ownership.rs":"29287dd073294afd2826b6754175d09ca87773191af2218487ff9e703ccd2035","src/ownership/codeowners_file_parser.rs":"0f798722af3a0adb0b8b790e871e56257d9f265ed2d8542f0d202eca5afca2f4","src/ownership/codeowners_query.rs":"30556b0ee2c38c1ca9283763df1ad7ddd7f964bc8d449c0bf2f935c387fe1673","src/ownership/file_generator.rs":"ec584457925414c1c06a7ca66f0f78d17c50243fbbcd0acedd3ab981eb93bb88","src/ownership/file_owner_finder.rs":"104626da603ddcaccb217387f13141c81fb768b41cf8b7fbc5f65809f487231b","src/ownership/file_owner_resolver.rs":"02d72fd4edeaad36b3454fe1c1e638665d208a14c09a8dd26465fad4a5bd90e2","src/ownership/mapper.rs":"a3bd5bc0bf7423fd061a044bd9fcc1d1b6bccd24e914b1f90a10a6fac56cc2f9","src/ownership/mapper/annotated_file_mapper.rs":"f34f845ddb45545f02f8ae2ab83c3934bc38dd95f9ba9d4142e12f61dfac271a","src/ownership/mapper/directory_mapper.rs":"a86866b518efbfdbb056a2d472c981eec875f2ddca5899f029405b76e875b018","src/ownership/mapper/escaper.rs":"2faa41beefedca26d493e8d8f68882384ddbb2c4b108953f30b960847a3f841c","src/ownership/mapper/package_mapper.rs":"394297b4c5890fb3a6b0289b78cec63fbb2e15fb4dc043e9d3ba0cb00769b7f6","src/ownership/mapper/team_gem_mapper.rs":"50b6ad9e60c03e055662724296576b4586167b0d7d6c03819f98b30c0f37342f","src/ownership/mapper/team_glob_mapper.rs":"ce0638118ec9c610210880534a62740f9bd4d15494b0b9516bcc11fa2bbfb508","src/ownership/mapper/team_yml_mapper.rs":"3c759139fc9ff362b82102aeaec958aec7ec9df86df87482a3362ab8ea54404f","src/ownership/validator.rs":"cc07397eb01b8e09067583535d68736708279dfd1cfbafb32a872ba850e00c19","src/path_utils.rs":"de5f7fc080f372ca025f777a5018319236f5b83c2c1ac77f9a387e62ce683ab4","src/project.rs":"26fac1893915f978f32eb80c5a8cf39ff37dc05f77e445e7e4fea8aba36a8f7c","src/project_builder.rs":"725a19d4e68cac2d7348bcfbc2b9c8b35f1d789247a3746e3adb70277485d1ac","src/project_file_builder.rs":"d0be8786d8160ad40d2286c9e43e11df1d38dbb7f7c84f5029d4656b19d75cbf","src/runner.rs":"7ab4f07660e249f5301e8944ab82e24df48012f6fa7a70ea81b8ef912cce8f8d","src/runner/api.rs":"c7e9815fbf654665da9d11d6b2405f623ed2fc36b93c37db212421351e9a779b","src/runner/types.rs":"30be32563f7fee61ca991618874dda497ccbe1d7c3fde4c023fd9eaa90ce7853","src/tracked_files.rs":"85ab07d649a5a9d90181489f8ebb7c173af4547ca267bc277b5bcf7534715823","tests/cache_test.rs":"80b900f38e177eb8c9e162b9373cd1d7c3a551baade716a1b07554a021bfef05","tests/codeowners_path_test.rs":"6e10631bcd93bbb850eed2818de057f0621c714137a11676f0a689f775699f52","tests/common/mod.rs":"ea2b9de36002a946c3ab6ed4101ff7c395c7a0f9ac143c12618a3d27fc8e15e4","tests/crosscheck_owners_test.rs":"8f83ec2feb7bef1cf34fec445096a342900359e5efed3b0b9485d48dad6e704d","tests/executable_name_config_test.rs":"5b3f35a89e5db9974faa754e6c82a2f81b1b2ee13c405f527e825e4fcef64642","tests/fixtures/custom_codeowners_path/config/code_ownership.yml":"3c9a4b046bab1f4d842e728dc9dea32ec09e7d01b6db5d1726e71ab330773b0e","tests/fixtures/custom_codeowners_path/config/teams/test_team.yml":"93ecfdd871a5e12e11293fd920988f82a67cb1a6fe39740a988a3e3fd0fda68f","tests/fixtures/custom_codeowners_path/docs/CODEOWNERS":"53db3b0313340fc5ce3a4c8050d1d8e7c1fb4fae1050e5bb047d3b211afed272","tests/fixtures/custom_codeowners_path/expected/CODEOWNERS":"53db3b0313340fc5ce3a4c8050d1d8e7c1fb4fae1050e5bb047d3b211afed272","tests/fixtures/custom_codeowners_path/ruby/app/models/test.rb":"d4218b8bc15617dd06a04632896ff45547545d2b1a0847adf5db860ac7ca060f","tests/fixtures/custom_executable_name/.github/CODEOWNERS":"29266b6d7a53c17068f5bf7636fa5ec6b7e1831d11bb8facf6efac22200cabbc","tests/fixtures/custom_executable_name/app/foo.rb":"083a6a7028749e3ef5397011b695037d958d5535cc332f666a853f06649cc0e4","tests/fixtures/custom_executable_name/config/code_ownership.yml":"107fab4d8816bcf1d0f70663450db390b713bdaa45a16ffbc7095663d44b5ca1","tests/fixtures/custom_executable_name/config/teams/foo.yml":"e2ebda8a83ab460456238351c112fa34fd056603ab556ef86afb10565aaa4398","tests/fixtures/custom_executable_name/config/teams/payments.yml":"9a333c4b5ad8abb3cc0610fa5562e499dc5665bbdd25755ba39b13ebea08940b","tests/fixtures/custom_executable_name/ruby/app/payments/foo.rb":"e4e0884c8dbbb76a53fa1a1877925cef81724fc8618d73056857209820acd42f","tests/fixtures/default_executable_name/.github/CODEOWNERS":"7f61abd3158f4075ffd774c04d7c709f202eada439a15727484df40bce692186","tests/fixtures/default_executable_name/app/bar.rb":"522851f30712c0df9f444af429a0e2bbfb9d095c0af3b4bdb925eb80d088680e","tests/fixtures/default_executable_name/config/code_ownership.yml":"85c44e76a650b80a46eadc44bc4e6f184a8d405b63b2bf186726b2974e083a2f","tests/fixtures/default_executable_name/config/teams/bar.yml":"8a4369cf629089eec906495d05f3ef58ece3e17dd860e452cceec18bad1dfcef","tests/fixtures/invalid_project/.github/CODEOWNERS":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","tests/fixtures/invalid_project/config/code_ownership.yml":"395b9023f51a29b8326a230c82543d8e8e7656376b4d82b1e77c7c5879620a30","tests/fixtures/invalid_project/config/teams/payments.yml":"205b0d200a5b686ad91c4080eadeefef200cc4974939b5ef02c15ef2edf775a1","tests/fixtures/invalid_project/config/teams/payroll.yml":"f3a85ce896837c2a9d38c2d23a600b1fd72f3bf8c4c65c12719ce942b3b17375","tests/fixtures/invalid_project/gems/payroll_calculator/calculator.rb":"350c85edfe24cd54b2479eda5266aae894b4c5eb6e9a3c0a0a1fb30e8c4d1d0f","tests/fixtures/invalid_project/ruby/app/models/bank_account.rb":"0832b2e95f90fa7ebd8dcbfd53c05618f091d38abf5dd238bd4d41645746160d","tests/fixtures/invalid_project/ruby/app/models/blockchain.rb":"9ffaa2304d02b8d40050017b62edbaf61b8600dc0b1a2c5b7f069b7c55c30616","tests/fixtures/invalid_project/ruby/app/models/payroll.rb":"7f48f8730fd738a2760ee81be8a6028cccb3c6c38be0433c7fd81a4bdd631b60","tests/fixtures/invalid_project/ruby/app/payments/nacha.rb":"c5ced2841986f3d48be0a132185a39dbc327715064574887303a25cf02aaad4d","tests/fixtures/invalid_project/ruby/app/services/.codeowner":"53fe8dfb6d9e1b03219adddcc3ffb741557dd579dc653d026097c463def4a8fe","tests/fixtures/invalid_project/ruby/app/services/multi_owned.rb":"42b340c67ad95016eb7e852abe37b39f7a0b5be41f897f972e05d2e581d6c30f","tests/fixtures/invalid_project/ruby/app/unowned.rb":"e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855","tests/fixtures/invalid_project/ruby/packages/payroll_flow/package.yml":"c1a08643821d02a57131870e8b6325f864db0687c5583f3d0872ada9d004072a","tests/fixtures/javascript_only_project/.github/CODEOWNERS":"fbd7770603296872c5993d1325a2d00a8d1704ad99002db9ab0dccc7182e3b37","tests/fixtures/javascript_only_project/.keep":"ff2dc9018b2c43a9793444552abcf83560daf5f7b1733bf7dbcaed4ee97db60e","tests/fixtures/javascript_only_project/config/code_ownership.yml":"b9cdde18cb0f0e8c025342c8d633197c401083f475ef34d7f9228ef343a0ba21","tests/fixtures/javascript_only_project/config/teams/design.yml":"6db44f08e2b0fb9e5bd91a83ba122025cf7e7a008703c39df9d0b10306a6e752","tests/fixtures/javascript_only_project/config/teams/frontend.yml":"f9fa6eee0ed9fc5a0b44485c306bb11785f9120a871c5e0bc074a5eacb808686","tests/fixtures/javascript_only_project/frontend/apps/public/index.tsx":"b3c88c0731b4b739d120f161266a501743a58577db571702dc6f3f0fd1483b4d","tests/fixtures/javascript_only_project/frontend/packages/dashboard/package.json":"3dd571d4d569608311ddab4a99cfe5596ab4c29fd0bade76ee9756cf28b0ac48","tests/fixtures/javascript_only_project/frontend/packages/dashboard/src/index.tsx":"5ef179897d55e9e8c6b70e5ad82803b11f0fcd5cfb3c7313e87b839798608e15","tests/fixtures/javascript_only_project/frontend/packages/ui-kit/.codeowner":"b5f4517c94406cb8d45702193f8282b62af30971d068e79d7bc2fd930cb0bb4c","tests/fixtures/javascript_only_project/frontend/packages/ui-kit/src/button.tsx":"7c18c050058f884a7f096b9fd4b1ccf853bc4e84dd786b5a92c5f0479b32f128","tests/fixtures/missing_github_team/.github/CODEOWNERS":"2a2f3c33c892b3ca170925e6f428d6bd506008f8343c67f640f55741ff22d611","tests/fixtures/missing_github_team/config/code_ownership.yml":"eb683ba7b42f810b457e1181626c6eb3b44bd5c80ba396bc0e8d29334a8187bf","tests/fixtures/missing_github_team/config/teams/bad_team.yml":"93cc7413631ce8fd5f95d083c9061f923de32e7c756bc6f0c9b17d593e4c4c12","tests/fixtures/missing_github_team/config/teams/good.yml":"bb8d9ea5106b9b87d17b3e72de7802f39f1879764fd99b13738cfdb43d503973","tests/fixtures/missing_github_team/gems/pets/dog.rb":"ed2553442d1646af1c421a7a04b92269612efbc5ec0ccb32930e27ceac65b2ea","tests/fixtures/multiple-directory-owners/.github/CODEOWNERS":"957d160c3d00eb530f7ebb34cc9b7c61934d108eb52ce3cb03b6d9978fad86df","tests/fixtures/multiple-directory-owners/app/consumers/.codeowner":"842c88863910f6eab22edcbdbe9f0f4dd96c6b46c711bd40277b36b8178943c4","tests/fixtures/multiple-directory-owners/app/consumers/deep/nesting/nestdir/deep_file.rb":"e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855","tests/fixtures/multiple-directory-owners/app/consumers/one_owner.rb":"e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855","tests/fixtures/multiple-directory-owners/app/services/.codeowner":"3eae1599bb7f187b86d6427942d172ba8dd7ee5962aab03e0839ad9d59c37eb0","tests/fixtures/multiple-directory-owners/app/services/exciting/.codeowner":"842c88863910f6eab22edcbdbe9f0f4dd96c6b46c711bd40277b36b8178943c4","tests/fixtures/multiple-directory-owners/app/services/exciting/some_other_file.rb":"c0cf1112663d326ba9b47fbcf961e98170c32e9287d5af574c35b3350fb3c59a","tests/fixtures/multiple-directory-owners/config/code_ownership.yml":"fcff2625d3a836924e75afd4a326c8f425a9ac4b4c5ffe276b8a14a083cc005a","tests/fixtures/multiple-directory-owners/config/teams/bar.yml":"253d9d9cb7f5b5cb81af19d8af7631b510d0f4ad59b32465c5e26bd78886f9c6","tests/fixtures/multiple-directory-owners/config/teams/foo.yml":"d4ba6d61c16e4227681f13013775e3d117e0cee4631714849405c47ff36ecbfc","tests/fixtures/valid_project/.github/CODEOWNERS":"ca6a9b2a225685b478fb7b542dd63ab945cd51ccd82b4d86495b3a3d7c020b6c","tests/fixtures/valid_project/.ignore":"68f30767f9c87c700952d52d9d39693e1a98efb6c07a0b9216fbc87d173ebb5e","tests/fixtures/valid_project/config/code_ownership.yml":"1443a689ff1b64d23cf6590b5d559ef386b549815f51bfe8a27ecd5f3111a5b8","tests/fixtures/valid_project/config/teams/payments.yml":"7c4edf4ab7db59c1ef13ef4e7aa498c8e8c23c19427ebebe4f43bca003619f2a","tests/fixtures/valid_project/config/teams/payroll.yml":"f3a85ce896837c2a9d38c2d23a600b1fd72f3bf8c4c65c12719ce942b3b17375","tests/fixtures/valid_project/config/teams/ux.yml":"918e96ab1b5c67c99b30b8e984c2cef8fa956b1c83802a76923b3f448bcdec62","tests/fixtures/valid_project/gems/payroll_calculator/calculator.rb":"991056cdd4824eea15055f9c055c22fb3281cc21cffbca94724b330b8a450e59","tests/fixtures/valid_project/gems/pets/dog.rb":"ed2553442d1646af1c421a7a04b92269612efbc5ec0ccb32930e27ceac65b2ea","tests/fixtures/valid_project/javascript/packages/PayrollFlow/index.tsx":"b78b223d3bdb83af6ef7f78bd305f6e18f11abf961ded3266f7bebdb9eb00686","tests/fixtures/valid_project/javascript/packages/PayrollFlow/package.json":"271a0bb50784a65df66fd5db7167d1dd67430c774c207eda58a96974dbafc408","tests/fixtures/valid_project/javascript/packages/items/(special)/.codeowner":"632e1c5839411a1009ef268e992c4b183cb1d5381b198eac0f8323213a61ed82","tests/fixtures/valid_project/javascript/packages/items/(special)/pay.ts":"e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855","tests/fixtures/valid_project/javascript/packages/items/.codeowner":"53fe8dfb6d9e1b03219adddcc3ffb741557dd579dc653d026097c463def4a8fe","tests/fixtures/valid_project/javascript/packages/items/item.ts":"e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855","tests/fixtures/valid_project/javascript/packages/list/page-admin.tsx":"4785eb6da46cfac5a74130f51a032d565824a0cfdde8f853530bd1e16baa8a95","tests/fixtures/valid_project/ruby/app/models/bank_account.rb":"0832b2e95f90fa7ebd8dcbfd53c05618f091d38abf5dd238bd4d41645746160d","tests/fixtures/valid_project/ruby/app/models/payroll.rb":"00214579a6b59629d74eb60e315b9e1cd77889ba54d46f0fa8e2936e7fbc4c53","tests/fixtures/valid_project/ruby/app/payments/foo/.codeowner":"53fe8dfb6d9e1b03219adddcc3ffb741557dd579dc653d026097c463def4a8fe","tests/fixtures/valid_project/ruby/app/payments/foo/ownedby_payroll.rb":"705296c5ae6b3c1efdb410c952095b6efba3f9edd0af1b42d20e6ba217b1744d","tests/fixtures/valid_project/ruby/app/payments/nacha.rb":"c5ced2841986f3d48be0a132185a39dbc327715064574887303a25cf02aaad4d","tests/fixtures/valid_project/ruby/app/payroll/.codeowner":"b58412ec67186588652c88a6c71fd7499e27984e1e587e137426bed8ddd53173","tests/fixtures/valid_project/ruby/app/payroll/payroll.rb":"ff6cb08457469043bd93b4fdbcecc37a29a506641ab486f9cafd319125ff00ca","tests/fixtures/valid_project/ruby/app/views/foos/edit.erb":"47a411fb8b793bf622fdb956f89a3b20835cd92201b61141f09748f8ff55ee21","tests/fixtures/valid_project/ruby/app/views/foos/index.html.erb":"4b7fd88053dfa83a4131200ed3196b41938e4a68119570e4aa1652ecdd7c6bfe","tests/fixtures/valid_project/ruby/app/views/foos/new.html.erb":"47a411fb8b793bf622fdb956f89a3b20835cd92201b61141f09748f8ff55ee21","tests/fixtures/valid_project/ruby/ignored_files/git_ignored.rb":"fb333306f05e93ff821123b1c09d264c5f37f1bd739156d91167789795704671","tests/fixtures/valid_project/ruby/packages/payroll_flow/package.yml":"c1a08643821d02a57131870e8b6325f864db0687c5583f3d0872ada9d004072a","tests/fixtures/valid_project/should_be_ignored/an_ignored_file.rb":"bd5ce0746f05ded73148e184b36741f3846e0af7409b42c16abae54a9220113a","tests/fixtures/valid_project_with_overrides/.github/CODEOWNERS":"99438c376b9ef057e5182f0197b42f7bb644773d181f1f94f3a7b2028052af34","tests/fixtures/valid_project_with_overrides/config/code_ownership.yml":"d4349ca21efdfd2a8247907db492e85aecea013f3977fabc5cc1a8a6411f7c3d","tests/fixtures/valid_project_with_overrides/config/teams/brewers.yml":"c45a00561fdaa703ed3a044a5c0271bd9d3e9fad64c3df58e17b07c38d151907","tests/fixtures/valid_project_with_overrides/config/teams/cubs.yml":"1bb8b70d29e97b2c78f35f84be18cafe2f3334bd81c45601217b1abdfcbdb088","tests/fixtures/valid_project_with_overrides/config/teams/giants.yml":"fdaead5b59332f408abc7e6a099f4773be232942532ae501aadc6d7f0110e302","tests/fixtures/valid_project_with_overrides/config/teams/rockies.yml":"0334aa2d3ba78261fb776f565ef38f1e19638e0fa5e05cae5785cec036ca7138","tests/fixtures/valid_project_with_overrides/frontend/packages/components/datepicker/package.json":"02e3dd340b4c1ab53bc2925164666b7c8c92cfb5afff7cdffcbb0760c0f23b56","tests/fixtures/valid_project_with_overrides/frontend/packages/components/datepicker/src/picks/dp.tsx":"7709ee4137249bf9d5c38687533304e7e04a174d233bc6f6e8a1f0de54689907","tests/fixtures/valid_project_with_overrides/frontend/packages/components/list/package.json":"9b95dfa430e9167629e1d908ccbef8ed17e3818fcc04c10cd11aee1ba806f8d9","tests/fixtures/valid_project_with_overrides/frontend/packages/components/list/src/item.tsx":"8360b4a2d4b8705c5d070b0834e7f4d1e8fc3fdac4221dd5a1ac33a2b256d1bb","tests/fixtures/valid_project_with_overrides/frontend/packages/components/textfield/package.json":"5676381fcd3acf9d7daa0f28eaf47b7fc481b7b826469655675ddd0bd4548429","tests/fixtures/valid_project_with_overrides/frontend/packages/components/textfield/src/field.tsx":"6821d8fe047c903a1b4a897ed1bed9638e556098db653518c3700507236a9cdc","tests/fixtures/valid_project_with_overrides/frontend/packages/components/textfield/src/fields/small.tsx":"18d9323ac98ac4bd4a685193763e1f29426be5ac8c4d7e7975945d79644226fd","tests/fixtures/valid_project_with_overrides/gems/apollo/lib/apollo.rb":"0470c442f361f8df49268fc1ea6d84f9512598d43595d54d6bda896a13e144f5","tests/fixtures/valid_project_with_overrides/gems/ivy/lib/ivy.rb":"54f5443bef6aebcb63ab0501f418c8b03928514a8a7ac9ed41d35dfb619a24b1","tests/fixtures/valid_project_with_overrides/gems/lager/lib/lager.rb":"d90ceebb7bc6156b2e3b3a88274f6a330f6b33f1b7404a3d1561618d9ae261f3","tests/fixtures/valid_project_with_overrides/gems/summit/lib/summit.rb":"ef61bf61c1d574c562d8d2d7e6692e0bb0cdb3e02b49691d3558cb205a6b3d27","tests/fixtures/valid_project_with_overrides/packs/games/app/services/stats.rb":"e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855","tests/fixtures/valid_project_with_overrides/packs/games/package.yml":"d44cb7e67286294b43fc51e7eefd36fecb488bd7e3aa1c15ba5e2f0fd1364806","tests/fixtures/valid_project_with_overrides/packs/locations/app/services/capacity.rb":"e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855","tests/fixtures/valid_project_with_overrides/packs/locations/package.yml":"ae1e90f7aadaa78fed7c97083dd0f46b394e53b848c08cf370b59c0f8de25e1c","tests/fixtures/valid_project_with_overrides/packs/schedule/app/services/date.rb":"e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855","tests/fixtures/valid_project_with_overrides/packs/schedule/package.yml":"e97c4d452c4656b9e7b3c22093d5969c4a59a8c019a4fc7ef513c5748f6a9ede","tests/fixtures/valid_project_with_overrides/ruby/app/brewers/lib/util.rb":"92be44095fe84e95ea5ce3f5b42cc9681063646135c8163017a56d407a367005","tests/fixtures/valid_project_with_overrides/ruby/app/brewers/services/play.rb":"1c4d38afc6eed1eac4681fa774dfc1fbcad894b245616c88efcf7afff21e7762","tests/fixtures/valid_project_with_overrides/ruby/app/cubs/.codeowner":"870f5b1fed86d50ea4a808b13b307f172b5e39b9be296cff27ad9babbcd384e9","tests/fixtures/valid_project_with_overrides/ruby/app/cubs/services/models/.codeowner":"d706f1c0496146d6009e700d1e78c4f0f0927edf73c656ec59fccf40a72d4291","tests/fixtures/valid_project_with_overrides/ruby/app/cubs/services/models/db/price.rb":"b571b23154f35a482975537bb752975c7957d78b02163842e9afb52513e3b8ce","tests/fixtures/valid_project_with_overrides/ruby/app/cubs/services/models/entertainment.rb":"e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855","tests/fixtures/valid_project_with_overrides/ruby/app/cubs/services/play.rb":"e4b77f45119ecc9cead0a189f90295ff16e15a35c38763bd0942b5aa6aad83b2","tests/fixtures/valid_project_with_overrides/ruby/app/giants/services/play.rb":"e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855","tests/fixtures/valid_project_with_overrides/ruby/app/rockies/services/play.rb":"e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855","tests/git_stage_test.rs":"145b13404ccec67a420fbc59e8b137cd394e612b2bab1f76d7e175c29ef7d4ab","tests/invalid_project_structure_test.rs":"af048ddfa756bc2e187ea885ea533a4b67907c5bcc531a082ffceca0728649b4","tests/invalid_project_test.rs":"8aa4baa811605b58ca3ce0bcebd245c2c863dd27888be0713a61a011ed2fe0de","tests/missing_github_team_test.rs":"e279592be3a68bb348066f90543f9ec8e702d2876cd524a55acaaf86a579fea7","tests/multiple_directory_owners_test.rs":"8fec90a2c1bcdd8886987a33d9c4afcd0094ce102cfa3d0415bcc2b5354eae80","tests/run_config_executable_override_test.rs":"1ffac121827dc2065460ff0ae4243704084441bc6d642396bc5e9a1d01c5b401","tests/runner_api.rs":"aa8d909b760e43f30c7b3b9dff761c6dd917ea51feb5baeb33ed191475a0fc3f","tests/untracked_files_test.rs":"f4c1906b6591ae7f206f3ac0838c99a35c5fb81f650928ed929e6246549d9874","tests/valid_project_test.rs":"4c76f2770f80c6a6d720a2ee970c176f7a813a5f3af6d0086f866478248c9e11","tests/valid_project_with_overrides_test.rs":"77150218cc4e6d7527d910d89cc3303f8d02671e6686069a41e2484b4fa31f59","tests/validate_files_test.rs":"517eb0f41405f2b1b3a69487c2a4fe526736bbadacce57e0fa0b57e5fba381df","tmp/.gitkeep":"e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855"},"package":null}
@@ -179,7 +179,7 @@ checksum = "b94f61472cee1439c0b966b47e3aca9ae07e45d070759512cd390ea2bebc6675"
179
179
 
180
180
  [[package]]
181
181
  name = "codeowners"
182
- version = "0.3.2"
182
+ version = "0.3.3"
183
183
  dependencies = [
184
184
  "assert_cmd",
185
185
  "clap",
@@ -203,6 +203,7 @@ dependencies = [
203
203
  "serde",
204
204
  "serde_json",
205
205
  "serde_yaml",
206
+ "similar",
206
207
  "tempfile",
207
208
  "tracing",
208
209
  "tracing-subscriber",
@@ -868,6 +869,12 @@ dependencies = [
868
869
  "lazy_static",
869
870
  ]
870
871
 
872
+ [[package]]
873
+ name = "similar"
874
+ version = "2.7.0"
875
+ source = "registry+https://github.com/rust-lang/crates.io-index"
876
+ checksum = "bbbb5d9659141646ae647b42fe094daf6c6192d1620870b449d9557f748b2daa"
877
+
871
878
  [[package]]
872
879
  name = "smallvec"
873
880
  version = "1.10.0"
@@ -12,7 +12,7 @@
12
12
  [package]
13
13
  edition = "2024"
14
14
  name = "codeowners"
15
- version = "0.3.2"
15
+ version = "0.3.3"
16
16
  build = false
17
17
  autolib = false
18
18
  autobins = false
@@ -105,6 +105,7 @@ rayon = "1.10.0"
105
105
  regex = "1.11.1"
106
106
  serde_json = "1.0.143"
107
107
  serde_yaml = "0.9.34"
108
+ similar = "2.6.0"
108
109
  tempfile = "3.21.0"
109
110
  tracing = "0.1.41"
110
111
 
@@ -49,17 +49,37 @@ impl FileGenerator {
49
49
  }
50
50
 
51
51
  pub fn compare_lines(a: &String, b: &String) -> Ordering {
52
- if let Some((prefix, _)) = a.split_once("**")
53
- && b.starts_with(prefix)
54
- {
55
- return Ordering::Less;
52
+ let path_a = extract_path(a);
53
+ let path_b = extract_path(b);
54
+
55
+ let mut comps_a = path_a.split('/');
56
+ let mut comps_b = path_b.split('/');
57
+
58
+ loop {
59
+ match (comps_a.next(), comps_b.next()) {
60
+ (None, None) => return a.cmp(b),
61
+ (None, Some(_)) => return Ordering::Less,
62
+ (Some(_), None) => return Ordering::Greater,
63
+ (Some(ca), Some(cb)) => match compare_component(ca, cb) {
64
+ Ordering::Equal => continue,
65
+ ord => return ord,
66
+ },
67
+ }
56
68
  }
57
- if let Some((prefix, _)) = b.split_once("**")
58
- && a.starts_with(prefix)
59
- {
60
- return Ordering::Greater;
69
+ }
70
+
71
+ fn extract_path(line: &str) -> &str {
72
+ let stripped = line.strip_prefix("# ").unwrap_or(line);
73
+ stripped.split_once(' ').map(|(p, _)| p).unwrap_or(stripped)
74
+ }
75
+
76
+ fn compare_component(a: &str, b: &str) -> Ordering {
77
+ match (a == "**", b == "**") {
78
+ (true, true) => Ordering::Equal,
79
+ (true, false) => Ordering::Less,
80
+ (false, true) => Ordering::Greater,
81
+ (false, false) => a.cmp(b),
61
82
  }
62
- a.cmp(b)
63
83
  }
64
84
 
65
85
  #[cfg(test)]
@@ -181,6 +201,96 @@ mod tests {
181
201
  assert_eq!(sorted, vec!["/directory/owner1/** @foo", "/directory/owner2/** @bar"]);
182
202
  }
183
203
 
204
+ #[test]
205
+ fn test_compare_lines_is_antisymmetric_for_shared_double_star_prefix() {
206
+ let a = "/foo/**/*bar* @org/example-team".to_string();
207
+ let b = "/foo/**/baz/**/* @org/example-team".to_string();
208
+
209
+ assert_eq!(compare_lines(&a, &b), Ordering::Less);
210
+ assert_eq!(compare_lines(&b, &a), Ordering::Greater);
211
+
212
+ let mut forward = vec![a.clone(), b.clone()];
213
+ let mut reverse = vec![b.clone(), a.clone()];
214
+ forward.sort_by(compare_lines);
215
+ reverse.sort_by(compare_lines);
216
+ assert_eq!(forward, reverse);
217
+ assert_eq!(forward, vec![a, b]);
218
+ }
219
+
220
+ fn special_character_set() -> Vec<String> {
221
+ vec![
222
+ "/directory/** @bop".to_string(),
223
+ "/directory/owner/** @bar".to_string(),
224
+ "/directory/owner/(my_folder)/**/** @foo".to_string(),
225
+ "/directory/owner/(my_folder)/without_glob @zoo".to_string(),
226
+ "/directory/owner/my_folder/** @baz".to_string(),
227
+ ]
228
+ }
229
+
230
+ #[test]
231
+ fn test_compare_lines_is_antisymmetric_across_special_character_set() {
232
+ let lines = special_character_set();
233
+ for x in &lines {
234
+ assert_eq!(compare_lines(x, x), Ordering::Equal);
235
+ for y in &lines {
236
+ if x == y {
237
+ continue;
238
+ }
239
+ let xy = compare_lines(x, y);
240
+ let yx = compare_lines(y, x);
241
+ assert_eq!(xy.reverse(), yx, "asymmetric for {x:?} vs {y:?}");
242
+ }
243
+ }
244
+ }
245
+
246
+ #[test]
247
+ fn test_compare_lines_is_transitive_across_special_character_set() {
248
+ let lines = special_character_set();
249
+ for x in &lines {
250
+ for y in &lines {
251
+ for z in &lines {
252
+ let xy = compare_lines(x, y);
253
+ let yz = compare_lines(y, z);
254
+ let xz = compare_lines(x, z);
255
+ if xy != Ordering::Greater && yz != Ordering::Greater {
256
+ assert_ne!(xz, Ordering::Greater, "transitivity broken: {x:?} <= {y:?} <= {z:?} but x > z");
257
+ }
258
+ if xy != Ordering::Less && yz != Ordering::Less {
259
+ assert_ne!(xz, Ordering::Less, "transitivity broken: {x:?} >= {y:?} >= {z:?} but x < z");
260
+ }
261
+ }
262
+ }
263
+ }
264
+ }
265
+
266
+ #[test]
267
+ fn test_compare_lines_orders_shorter_path_before_longer_extension() {
268
+ let shorter = "/foo @a".to_string();
269
+ let longer = "/foo/bar @b".to_string();
270
+
271
+ assert_eq!(compare_lines(&shorter, &longer), Ordering::Less);
272
+ assert_eq!(compare_lines(&longer, &shorter), Ordering::Greater);
273
+ }
274
+
275
+ #[test]
276
+ fn test_compare_lines_falls_back_to_full_line_when_paths_equal() {
277
+ let a = "/foo/** @a".to_string();
278
+ let b = "/foo/** @b".to_string();
279
+
280
+ assert_eq!(compare_lines(&a, &b), Ordering::Less);
281
+ assert_eq!(compare_lines(&b, &a), Ordering::Greater);
282
+ }
283
+
284
+ #[test]
285
+ fn test_compare_lines_ignores_disabled_comment_prefix() {
286
+ let enabled = "/foo/owner/** @bar".to_string();
287
+ let disabled = "# /foo/owner/** @bar".to_string();
288
+ let other = "/foo/owner/(extra)/file @baz".to_string();
289
+
290
+ assert_eq!(compare_lines(&enabled, &other), compare_lines(&disabled, &other));
291
+ assert_eq!(compare_lines(&other, &enabled), compare_lines(&other, &disabled));
292
+ }
293
+
184
294
  #[test]
185
295
  fn test_sorting_with_special_characters() {
186
296
  let entries = vec![
@@ -9,6 +9,7 @@ use error_stack::Context;
9
9
  use itertools::Itertools;
10
10
  use rayon::prelude::IntoParallelRefIterator;
11
11
  use rayon::prelude::ParallelIterator;
12
+ use similar::{ChangeTag, TextDiff};
12
13
  use tracing::debug;
13
14
  use tracing::instrument;
14
15
 
@@ -29,7 +30,7 @@ enum Error {
29
30
  InvalidTeam { name: String, path: PathBuf },
30
31
  FileWithoutOwner { path: PathBuf },
31
32
  FileWithMultipleOwners { path: PathBuf, owners: Vec<Owner> },
32
- CodeownershipFileIsStale { executable_name: String },
33
+ CodeownershipFileIsStale { executable_name: String, diff: String },
33
34
  }
34
35
 
35
36
  #[derive(Debug)]
@@ -127,20 +128,15 @@ impl Validator {
127
128
 
128
129
  fn validate_codeowners_file(&self) -> Vec<Error> {
129
130
  let generated_file = self.file_generator.generate_file();
131
+ let current_file = self.project.get_codeowners_file().unwrap_or_default();
130
132
 
131
- match self.project.get_codeowners_file() {
132
- Ok(current_file) => {
133
- if generated_file != current_file {
134
- vec![Error::CodeownershipFileIsStale {
135
- executable_name: self.executable_name.to_string(),
136
- }]
137
- } else {
138
- vec![]
139
- }
140
- }
141
- Err(_) => vec![Error::CodeownershipFileIsStale {
133
+ if generated_file == current_file {
134
+ vec![]
135
+ } else {
136
+ vec![Error::CodeownershipFileIsStale {
142
137
  executable_name: self.executable_name.to_string(),
143
- }],
138
+ diff: codeowners_diff(&current_file, &generated_file),
139
+ }]
144
140
  }
145
141
  }
146
142
 
@@ -163,12 +159,32 @@ impl Validator {
163
159
  }
164
160
  }
165
161
 
162
+ /// Builds a line-oriented diff between the current (on-disk) CODEOWNERS file and the
163
+ /// freshly generated one, so that validation failures explain *what* is out of date
164
+ /// rather than just *that* it is. Only changed lines are emitted: removals (present
165
+ /// on disk but no longer expected) are prefixed with `-` and additions (expected but
166
+ /// missing) are prefixed with `+`.
167
+ fn codeowners_diff(current: &str, generated: &str) -> String {
168
+ let diff = TextDiff::from_lines(current, generated);
169
+
170
+ diff.iter_all_changes()
171
+ .filter_map(|change| {
172
+ let line = change.value().trim_end_matches('\n');
173
+ match change.tag() {
174
+ ChangeTag::Delete => Some(format!("-{line}")),
175
+ ChangeTag::Insert => Some(format!("+{line}")),
176
+ ChangeTag::Equal => None,
177
+ }
178
+ })
179
+ .join("\n")
180
+ }
181
+
166
182
  impl Error {
167
183
  pub fn category(&self) -> String {
168
184
  match self {
169
185
  Error::FileWithoutOwner { path: _ } => "Some files are missing ownership".to_owned(),
170
186
  Error::FileWithMultipleOwners { path: _, owners: _ } => "Code ownership should only be defined for each file in one way. The following files have declared ownership in multiple ways".to_owned(),
171
- Error::CodeownershipFileIsStale { executable_name } => {
187
+ Error::CodeownershipFileIsStale { executable_name, diff: _ } => {
172
188
  format!("CODEOWNERS out of date. Run `{}` to update the CODEOWNERS file", executable_name)
173
189
  }
174
190
  Error::InvalidTeam { name: _, path: _ } => "Found invalid team annotations".to_owned(),
@@ -192,7 +208,13 @@ impl Error {
192
208
 
193
209
  vec![messages.join("\n")]
194
210
  }
195
- Error::CodeownershipFileIsStale { executable_name: _ } => vec![],
211
+ Error::CodeownershipFileIsStale { executable_name: _, diff } => {
212
+ if diff.is_empty() {
213
+ vec![]
214
+ } else {
215
+ vec![format!("The following changes are required (- current, + expected):\n{diff}")]
216
+ }
217
+ }
196
218
  Error::InvalidTeam { name, path } => vec![format!("- {} is referencing an invalid team - '{}'", path.to_string_lossy(), name)],
197
219
  }
198
220
  }
@@ -221,3 +243,43 @@ impl Display for Errors {
221
243
  }
222
244
 
223
245
  impl Context for Errors {}
246
+
247
+ #[cfg(test)]
248
+ mod tests {
249
+ use super::*;
250
+ use indoc::indoc;
251
+
252
+ #[test]
253
+ fn test_codeowners_diff_reports_added_and_removed_lines() {
254
+ let current = indoc! {"
255
+ # Team A
256
+ /app/a.rb @TeamA
257
+ /app/old.rb @TeamA
258
+ "};
259
+ let generated = indoc! {"
260
+ # Team A
261
+ /app/a.rb @TeamA
262
+ /app/b.rb @TeamB
263
+ "};
264
+
265
+ let diff = codeowners_diff(current, generated);
266
+
267
+ assert_eq!(diff, "-/app/old.rb @TeamA\n+/app/b.rb @TeamB");
268
+ }
269
+
270
+ #[test]
271
+ fn test_codeowners_diff_against_empty_file_is_all_additions() {
272
+ let generated = "# Team A\n/app/a.rb @TeamA\n";
273
+
274
+ let diff = codeowners_diff("", generated);
275
+
276
+ assert_eq!(diff, "+# Team A\n+/app/a.rb @TeamA");
277
+ }
278
+
279
+ #[test]
280
+ fn test_codeowners_diff_is_empty_when_identical() {
281
+ let file = "# Team A\n/app/a.rb @TeamA\n";
282
+
283
+ assert_eq!(codeowners_diff(file, file), "");
284
+ }
285
+ }
@@ -40,11 +40,24 @@ fn test_custom_executable_name_full_error_message() -> Result<(), Box<dyn Error>
40
40
  &["validate"],
41
41
  false,
42
42
  OutputStream::Stdout,
43
- predicate::eq(indoc! {"
43
+ predicate::eq(indoc! {r#"
44
44
 
45
45
  CODEOWNERS out of date. Run `bin/codeownership validate` to update the CODEOWNERS file
46
+ The following changes are required (- current, + expected):
47
+ -# Outdated content to trigger validation error
48
+ -/app/old.rb @FooTeam
49
+ +
50
+ +# Annotations at the top of file
51
+ +/app/foo.rb @FooTeam
52
+ +
53
+ +# Team-specific owned globs
54
+ +/ruby/app/payments/** @PaymentTeam
55
+ +
56
+ +# Team YML ownership
57
+ +/config/teams/foo.yml @FooTeam
58
+ +/config/teams/payments.yml @PaymentTeam
46
59
 
47
- "}),
60
+ "#}),
48
61
  )?;
49
62
  Ok(())
50
63
  }
@@ -57,11 +70,19 @@ fn test_default_executable_name_full_error_message() -> Result<(), Box<dyn Error
57
70
  &["validate"],
58
71
  false,
59
72
  OutputStream::Stdout,
60
- predicate::eq(indoc! {"
73
+ predicate::eq(indoc! {r#"
61
74
 
62
75
  CODEOWNERS out of date. Run `codeowners generate` to update the CODEOWNERS file
76
+ The following changes are required (- current, + expected):
77
+ -# Outdated content to trigger validation error
78
+ -/app/old.rb @BarTeam
79
+ +# Annotations at the top of file
80
+ +/app/bar.rb @BarTeam
81
+ +
82
+ +# Team YML ownership
83
+ +/config/teams/bar.yml @BarTeam
63
84
 
64
- "}),
85
+ "#}),
65
86
  )?;
66
87
  Ok(())
67
88
  }
@@ -1,5 +1,5 @@
1
1
  # STOP! - DO NOT EDIT THIS FILE MANUALLY
2
- # This file was automatically generated by "codeowners".
2
+ # This file was automatically generated by "bin/codeownership validate".
3
3
  #
4
4
  # CODEOWNERS is used for GitHub to suggest code/file owners to various GitHub
5
5
  # teams. This is useful when developers create Pull Requests since the
@@ -1,5 +1,5 @@
1
1
  # STOP! - DO NOT EDIT THIS FILE MANUALLY
2
- # This file was automatically generated by "codeowners".
2
+ # This file was automatically generated by "bin/codeownership validate".
3
3
  #
4
4
  # CODEOWNERS is used for GitHub to suggest code/file owners to various GitHub
5
5
  # teams. This is useful when developers create Pull Requests since the
@@ -16,6 +16,36 @@ fn test_validate() -> Result<(), Box<dyn Error>> {
16
16
  predicate::eq(indoc! {"
17
17
 
18
18
  CODEOWNERS out of date. Run `codeowners generate` to update the CODEOWNERS file
19
+ The following changes are required (- current, + expected):
20
+ +# STOP! - DO NOT EDIT THIS FILE MANUALLY
21
+ +# This file was automatically generated by \"bin/codeownership validate\".
22
+ +#
23
+ +# CODEOWNERS is used for GitHub to suggest code/file owners to various GitHub
24
+ +# teams. This is useful when developers create Pull Requests since the
25
+ +# code/file owner is notified. Reference GitHub docs for more details:
26
+ +# https://help.github.com/en/articles/about-code-owners
27
+ +
28
+ +# Annotations at the top of file
29
+ +/gems/payroll_calculator/calculator.rb @PaymentTeam
30
+ +/ruby/app/models/bank_account.rb @PaymentTeam
31
+ +/ruby/app/models/payroll.rb @PayrollTeam
32
+ +/ruby/app/services/multi_owned.rb @PaymentTeam
33
+ +
34
+ +# Team-specific owned globs
35
+ +/ruby/app/payments/**/* @PaymentTeam
36
+ +
37
+ +# Owner in .codeowner
38
+ +/ruby/app/services/**/** @PayrollTeam
39
+ +
40
+ +# Owner metadata key in package.yml
41
+ +/ruby/packages/payroll_flow/**/** @PayrollTeam
42
+ +
43
+ +# Team YML ownership
44
+ +/config/teams/payments.yml @PaymentTeam
45
+ +/config/teams/payroll.yml @PayrollTeam
46
+ +
47
+ +# Team owned gems
48
+ +/gems/payroll_calculator/**/** @PayrollTeam
19
49
 
20
50
  Code ownership should only be defined for each file in one way. The following files have declared ownership in multiple ways
21
51
 
@@ -0,0 +1,2 @@
1
+ [target.wasm32-wasip1]
2
+ runner = ["./scripts/wasmtime-wrapper.sh"]
@@ -0,0 +1 @@
1
+ {"files":{".cargo/config.toml":"c6d4e0a672089d2814b9d5efa9f76c23d93c6ccda82a5a1554c60835ca6964e3",".cargo_vcs_info.json":"9e85b352e3afb3496a76e5f5840e8e2d25d6c1495f6fde504fc251608eea43b5",".github/FUNDING.yml":"73c9566ed57dc7c3a71f1a97fd0e81f85512f7954d0ac3228de83678bf170bc8",".github/workflows/clippy.yml":"12564ec32b05830fbbc8f521cee9fd55528520a734bd3443efe695c5a21914cd",".github/workflows/rustfmt.yml":"5d774e46d7100debdcff08cd20fa86d124671b049b740f083da6a2f1172f0c00",".github/workflows/tests.yml":"b976c8a14e9cb6d2eb33c34ef6fd3af5bf097ea1f7e9d67c7c97320faba7fc59",".vscode/settings.json":"cf47398c47ec6632b0d3a2e841aee7e842718e0a6b3d82196118a21041688fbb","CHANGELOG.md":"ff18c581bbbc07177b6431edb44917fa956b19f56b98eda468e52bd17badfe87","Cargo.lock":"00743250861566b2500bead9cea368e091ac881b4e995614b72352d7ed02eb84","Cargo.lock.msrv":"9e5ffd505c055442f7a8163ac4c802de72302365f2fad8ba01b017f50eb14903","Cargo.toml":"18b0354dc4d0819d996beb4f3dc85abff37b095f41c86dfd0e2c5f6827dbefe4","Cargo.toml.orig":"4d2bdff04cfde6217f3033e105dbb9d15ef49fe497cebfe018b9de88cd128804","LICENSE":"a60eea817514531668d7e00765731449fe14d059d3249e0bc93b36de45f759f2","Makefile":"be0b8112c890553c07ba571b2ae0481703034bee4e768008d583c006f118ebfe","README.md":"ed4e7f5f1d3fe7b5ebf08377aa8ae385a1073b05687741d9691956d2726284d5","clippy.toml":"e1e95839ba8e8bbf07f99ff49e2f151b9048c7981301a5480571842bbaf78ca2","examples/close-matches.rs":"9c168c894453f7de5877955ea55362ed4e6ef637dd6c4b176645614258a29998","examples/large.rs":"6f46e6fb7aac8e043702a921c0615c17aceb2b0ea6d943210ab1d8e747c23da7","examples/nonstring.rs":"4c5765d66cafd6e81d4e678fc202faf1e220352e29d0715097ad3cb19d2d95c2","examples/original-slices.rs":"d2d0e3c04e04236b5d186622d3f587706c660d236fba00a38f06587823a01878","examples/patience.rs":"8ba9ed249e2ab531d6140e1b48314e392ab67387661d9c6268b1471c97edc1fb","examples/serde.rs":"d6f180d960c0ff2df0a1facec71310d4d8f8ba37d1b17639ad12d3b2f484415a","examples/terminal-inline.rs":"ebbd9b2194390dd6c4ced7693c7521ca64aa4e008a2ad98dbec8b35208a75ece","examples/terminal.rs":"bfffd6d1e930158e14732eec4fd0f62bce982c0dada7b62763057cef77fd4219","examples/udiff.rs":"8da4fd68e210358ae3fbe6a16731aa155c634096843c4a98b91a4b1284e5b7f1","scripts/wasmtime-wrapper.sh":"d5f13588eb2fe5432343b099eb52e647b02e7cafc4164cb1384ff22af4069330","src/algorithms/capture.rs":"6c1358baed6c927f86b20600aab9cccbce5b3b6ec92d7b9e6149f346ebab4794","src/algorithms/compact.rs":"086fe409130564fab3b0f809166255e2508326095b0c3d6c7b72c08fa5829b62","src/algorithms/hook.rs":"51459faf43c606d9b308723ca31d7118777e24b9afe1e9a98bc2ba90d6990799","src/algorithms/lcs.rs":"b2517e68922bb756f4e99cdfe30c50c631fdf5857234d3145141d6d4ad58d682","src/algorithms/mod.rs":"1a134d38c26c2a614fc83bc9fa53ff6e6b1372ba4e0e9d91ba8bfba4db47923d","src/algorithms/myers.rs":"f48c39fd2f5092c97677607b2ea48241a774b30b951df01ca1e6d8d440dad25c","src/algorithms/patience.rs":"f609f2f38105a1db308247a96c7353c3495cb6b476337a81ade5260d49d15a69","src/algorithms/replace.rs":"88c3a4ca67c722d9886d6d21f6b174b5ce2b76b3a302f25c36c4dcdeda31f4e9","src/algorithms/snapshots/similar__algorithms__capture__capture_hook_grouping-2.snap":"accbd58fc63fd972c30a1060501ea3d1e51f0bb17d35b71cff98eab1358c8d81","src/algorithms/snapshots/similar__algorithms__capture__capture_hook_grouping.snap":"16fe0debab61a2be05aeee7081b3f1ce54b055560fc641672374ba23d316c9a1","src/algorithms/snapshots/similar__algorithms__lcs__contiguous.snap":"81f60b2b1939c503aaa2861b1e2fa62ff6a29202d110e48324a62d13dac7b68c","src/algorithms/snapshots/similar__algorithms__lcs__diff.snap":"5f34e634b931b5b9af25328e0780b5e01c8b26c66424774eb951b7a9f13728b6","src/algorithms/snapshots/similar__algorithms__lcs__pat.snap":"791647906f36a1effdeb5bde5625b5188447439ba234d93b64e75b1d87f13ab3","src/algorithms/snapshots/similar__algorithms__lcs__same.snap":"99d00e41fa28c62340b0d5492d7708a605accb4cc1ddeab040d0fc5653ed37c1","src/algorithms/snapshots/similar__algorithms__myers__contiguous.snap":"a65c392c570d732b3a26e1b06022de9fa17127ce5b341ce9b1d91f9e3c435438","src/algorithms/snapshots/similar__algorithms__myers__deadline_reached.snap":"fa7d71f326a1650e10604227358a303f4ecc7989e46b8b9a4d1ae345044183ce","src/algorithms/snapshots/similar__algorithms__myers__diff.snap":"28549b646e1395d57b9c9d9c359b890bd68be4f4df83800ac9680398c5cc5181","src/algorithms/snapshots/similar__algorithms__myers__pat.snap":"90585b8385a3aa073faecf90cac30360389a51d28030b99e819483f016be7f34","src/algorithms/snapshots/similar__algorithms__patience__patience.snap":"1ff007b11ebd3f7781781145b37eba9d38e4e2d87e337dd9c669c7e806b414e3","src/algorithms/snapshots/similar__algorithms__patience__patience_out_of_bounds_bug.snap":"21252d8b50186f226cadab72a1bd023ca40170889267474c6bc23f979d20aa3b","src/algorithms/utils.rs":"cd92370612672c32d77f6470bf900b89ab34dad464157e7abc47c183b5b3c506","src/common.rs":"97cdadc3f0473f9ad482c3a598c3f4073a2960a88b486fe51c256de96b898c00","src/deadline_support.rs":"44402d6410930d290f8d306ec8d2c07bc9f41a1aa095ab8f45ad1ac3accd832a","src/iter.rs":"f79fdc7193d2f80139d51eb4bc4703d69065dc63fbb9d9f1edee714cc370fa5f","src/lib.rs":"49701d3305f29b3aeba88b361dd3e40497c4db90a02dfe61b8eaaafee955e75a","src/snapshots/similar__udiff__unified_diff.snap":"228b01fd9d21522459f420fe4f7e663cf187903456e050dda6ab2c60dce5828c","src/snapshots/similar__udiff__unified_diff_newline_hint-2.snap":"0b699a1e6488df68eae42e682656f39f74f120245134829f7536aa0f2b84c4f9","src/snapshots/similar__udiff__unified_diff_newline_hint.snap":"97c2e42a6d1b7184f0d97dff02807f6b78c159de1df6bc616b0842db13eb945c","src/text/abstraction.rs":"683aa28bd70f622d260a8eef347a66ecfad0497ffabd55c78a9c3fe2dd64554d","src/text/inline.rs":"12623843252812052687648a7754e2cd2d592251c2d3060cb10be32fac7ecc27","src/text/mod.rs":"135fb3ee9f8f97fcb3fb695d6941fa004b419d0ce59737e636dd7f0aee9017af","src/text/snapshots/similar__text__captured_ops.snap":"e998dccc8d267f1aa20a202c01417945147dbf6f76f80f58a7cd73affcfa0328","src/text/snapshots/similar__text__captured_word_ops.snap":"369f37aa2e5fa62427fccdc5c06214ed45872645c6234388872d0697c39a17e6","src/text/snapshots/similar__text__char_diff.snap":"b0f22a6348287309bab42e0bcdb1006506bac12bf5d40beed927844f7d13ad2d","src/text/snapshots/similar__text__inline__line_ops_inline.snap":"a753d6c8e82819eb82974c3ab0b86ef952258a987ae40a52e9d7ea105c3c4c0c","src/text/snapshots/similar__text__inline__serde.snap":"b16f70957514ba6bbbcd16c8276bade62be896792f4cf410ca4170ade8e49c53","src/text/snapshots/similar__text__lifetimes_on_iter.snap":"8e61bf92359657a3e8473bffb2e0d15f0236fd2060b240b97ada7d06315a51d1","src/text/snapshots/similar__text__line_ops.snap":"40a2ee5e1eb901cb9409179975f71ba7dc99484ad5b955948d3bd80b6e2e77d3","src/text/snapshots/similar__text__serde.snap":"1b3f1c45f8efa5d598d362c5a34338f7434d1fa412d51398bd933e7d9b7157d3","src/text/snapshots/similar__text__serde_ops.snap":"07f94abf19f845a31a2ffc4635a9e8c12d767cb8a708636f317c3d354753fb22","src/text/snapshots/similar__text__unified_diff.snap":"1d7f48735fc21145425f5c975dfbbe3700db731847dad7c5d5bc17422fc3f424","src/text/snapshots/similar__text__virtual_newlines.snap":"5902123c4c4ec6250bdef56b1108ee0e8be1720d3f6dd9e4141a260cb0428b3e","src/text/utils.rs":"14310f63fff6679a4bcb323caba8da2806d1eb519613d1cfaf2eff564978f398","src/types.rs":"227a9d2a67cd6c5fb2daf824b4d264f312d6b296d43741ae4ef6760c96d7229f","src/udiff.rs":"9434f20154660ba520169c30ac2bd6ef03e83101cea24afd73af6a844950c88f","src/utils.rs":"2e8353660ce83ff07810109b95b7ff3f137e518dbbf8f94e1e309ae40d62c224"},"package":"bbbb5d9659141646ae647b42fe094daf6c6192d1620870b449d9557f748b2daa"}