| react-profiling | 0 |
| react-import-map | react,react-dom,react-dom/client,react-dom/profiling,react-is,react-reconciler,react/compiler-runtime,react/jsx-dev-runtime,react/jsx-runtime,scheduler@d5750093facf |
| route-pattern | /:user_id/:repository/pull/:id/files(.:format) |
| route-controller | pull_requests |
| route-action | files |
| fetch-nonce | v2:1fc88266-419e-165f-d25e-7ded052d5ee0 |
| current-catalog-service-hash | ae870bc5e265a340912cde392f23dad3671a0a881730ffdadd82f2f57d81641b |
| request-id | CACC:1DA4E1:109B116:168AA2B:6AEC29E9 |
| html-safe-nonce | e0ec0a8090db6242bcd6cd541ba66c210146af0af39df6728a823cff7f740e5e |
| visitor-payload | eyJyZWZlcnJlciI6IiIsInJlcXVlc3RfaWQiOiJDQUNDOjFEQTRFMToxMDlCMTE2OjE2OEFBMkI6NkFFQzI5RTkiLCJ2aXNpdG9yX2lkIjoiMzgwMTk0MzYwODEzNDQ3ODMxMyIsInJlZ2lvbl9lZGdlIjoiaWFkIiwicmVnaW9uX3JlbmRlciI6ImlhZCJ9 |
| visitor-hmac | 34b236a59d187c4af09589ffc87267b2037d5d220beb3d6f2f30d3b5f2f8bea8 |
| hovercard-subject-tag | pull_request:4960371139 |
| github-keyboard-shortcuts | repository,pull-request-list,pull-request-conversation,pull-request-files-changed,copilot |
| google-site-verification | Apib7-x98H0j5cPqHWwSMm6dNU4GmODRoqxLiDzdx9I |
| octolytics-url | https://collector.github.com/github/collect |
| analytics-location | ///pull_requests/show/files |
| fb:app_id | 1401488693436528 |
| apple-itunes-app | app-id=1477376905, app-argument=https://github.com/rstackjs/rstack-cli/pull/590/files |
| twitter:image | https://avatars.githubusercontent.com/u/7237365?s=400&v=4 |
| twitter:card | summary_large_image |
| og:image | https://avatars.githubusercontent.com/u/7237365?s=400&v=4 |
| og:image:alt | Motivation
Monorepos often repeat the same .gitignore contents across packages. rs fmt currently compiles each copy independently and leaves native matcher cleanup to garbage collection.
Changes
Sh... |
| og:site_name | GitHub |
| og:type | object |
| hostname | github.com |
| expected-hostname | github.com |
| None | f290b7f408d9675a032f84ceb13aaf80220f947c681b4c5d9a7560a59ee32f02 |
| turbo-cache-control | no-preview |
| diff-view | unified |
| go-import | github.com/rstackjs/rstack-cli git https://github.com/rstackjs/rstack-cli.git |
| octolytics-dimension-user_id | 129049372 |
| octolytics-dimension-user_login | rstackjs |
| octolytics-dimension-repository_id | 1138027854 |
| octolytics-dimension-repository_nwo | rstackjs/rstack-cli |
| octolytics-dimension-repository_public | true |
| octolytics-dimension-repository_is_fork | false |
| octolytics-dimension-repository_network_root_id | 1138027854 |
| octolytics-dimension-repository_network_root_nwo | rstackjs/rstack-cli |
| turbo-body-classes | logged-out env-production page-responsive full-width |
| disable-turbo | true |
| browser-stats-url | https://api.github.com/_private/browser/stats |
| browser-errors-url | https://api.github.com/_private/browser/errors |
| release | ad9a37a663eb727a42b8bacc5e035cc3a24dd058 |
| ui-target | full |
| theme-color | #1e2327 |
| color-scheme | light dark |
| Skip to content | https://github.com/rstackjs/rstack-cli/pull/590/files#start-of-content |
| https://github.com/ |
| Sign in | https://github.com/login?return_to=https%3A%2F%2Fgithub.com%2Frstackjs%2Frstack-cli%2Fpull%2F590%2Ffiles |
| GitHubRepository hosting, code review, and collaboration | https://github.com/platform |
| CopilotAI coding agent for tasks, projects and automated work | https://github.com/features/copilot |
| ActionsCI/CD and automation | https://github.com/features/actions |
| Code QualityQuality analysis, fixes, and enforcement | https://github.com/features/code-quality |
| CodespacesCloud development environments | https://github.com/features/codespaces |
| Code SecurityVulnerability detection and remediation | https://github.com/security/advanced-security/code-security |
| Secret ProtectionSecret scanning and leak prevention | https://github.com/security/advanced-security/secret-protection |
| All Features | https://github.com/features |
| Documentation | https://docs.github.com/en |
| Training | https://learn.github.com/skills |
| Certifications | https://learn.github.com/credentials |
| Build with Copilot | https://github.com/features/ai |
| Customize Copilot | https://docs.github.com/en/copilot/how-tos/copilot-on-github/customize-copilot/customize-copilot-overview |
| Integrations | https://github.com/marketplace |
| Trending repos | https://github.com/trending |
| GitHub Sponsors | https://github.com/open-source/sponsors |
| Developer articles | https://github.com/resources/articles |
| ChangelogYour source for the latest features, improvements, and fixes across GitHub products, all in one place. | https://github.blog/changelog/ |
| Enterprises | https://github.com/enterprise |
| Team | https://github.com/team |
| Startups | https://github.com/enterprise/startups |
| Nonprofits | https://github.com/solutions/industry/nonprofits |
| Healthcare | https://github.com/solutions/industry/healthcare |
| Financial services | https://github.com/solutions/industry/financial-services |
| Manufacturing | https://github.com/solutions/industry/manufacturing |
| Government | https://github.com/solutions/industry/government |
| See all industries | https://github.com/solutions/industry |
| Why GitHub | https://github.com/why-github |
| Customer Stories | https://github.com/customer-stories |
| Business insights | https://github.com/solutions/executive-insights |
| Trust Center | https://github.com/trust-center |
| GitHub Advanced SecurityEnterprise-grade code security | https://github.com/security/advanced-security |
| Copilot for businessEnterprise-grade AI features | https://github.com/features/copilot/copilot-business |
| Premium SupportEnterprise-grade 24/7 support | https://github.com/enterprise/premium-support |
| Documentation | https://docs.github.com/en |
| Resource center | https://github.com/resources |
| Blog | https://github.blog/ |
| Events & webinars | https://github.com/resources/events |
| Community Forum | https://github.com/orgs/community/discussions |
| Customer Stories | https://github.com/customer-stories |
| Integrations | https://github.com/marketplace |
| Customer support | https://help.github.com/ |
| Training | https://learn.github.com/skills |
| GitHub Status | https://www.githubstatus.com/ |
| About | https://github.com/about |
| Partners | https://github.com/partners |
| Changelog | https://github.blog/changelog/ |
| GitHub UniverseThe event for developers, by developers — talks, workshops, and what’s next for GitHub. | https://githubuniverse.com/ |
| Pricing | https://github.com/pricing |
| Sign in | https://github.com/login?return_to=https%3A%2F%2Fgithub.com%2Frstackjs%2Frstack-cli%2Fpull%2F590%2Ffiles |
| Sign up | https://github.com/signup?ref_cta=Sign+up&ref_loc=header+logged+out&ref_page=%2F%3Cuser-name%3E%2F%3Crepo-name%3E%2Fpull_requests%2Fshow%2Ffiles&source=header-repo&source_repo=rstackjs%2Frstack-cli |
| Reload | https://github.com/rstackjs/rstack-cli/pull/590/files |
| Reload | https://github.com/rstackjs/rstack-cli/pull/590/files |
| Reload | https://github.com/rstackjs/rstack-cli/pull/590/files |
| rstackjs | https://github.com/rstackjs |
| rstack-cli | https://github.com/rstackjs/rstack-cli |
| Code | https://github.com/rstackjs/rstack-cli |
| Issues3 (3) | https://github.com/rstackjs/rstack-cli/issues |
| Pull requests1 (1) | https://github.com/rstackjs/rstack-cli/pulls |
| Discussions | https://github.com/rstackjs/rstack-cli/discussions |
| Actions | https://github.com/rstackjs/rstack-cli/actions |
| Projects | https://github.com/rstackjs/rstack-cli/projects |
| Security and quality | https://github.com/rstackjs/rstack-cli/security |
| Insights | https://github.com/rstackjs/rstack-cli/pulse |
| Sign up for GitHub
| https://github.com/signup?return_to=%2Frstackjs%2Frstack-cli%2Fissues%2Fnew%2Fchoose |
| terms of service | https://docs.github.com/terms |
| privacy statement | https://docs.github.com/privacy |
| Sign in | https://github.com/login?return_to=%2Frstackjs%2Frstack-cli%2Fissues%2Fnew%2Fchoose |
| chenjiahan | https://github.com/chenjiahan |
| main | https://github.com/rstackjs/rstack-cli/tree/main |
| chenjiahan/reuse-gitignore-compilation | https://github.com/rstackjs/rstack-cli/tree/chenjiahan/reuse-gitignore-compilation |
|
Conversation
2
| https://github.com/rstackjs/rstack-cli/pull/590 |
|
Commits
4
| https://github.com/rstackjs/rstack-cli/pull/590/commits |
|
Checks
5
| https://github.com/rstackjs/rstack-cli/pull/590/checks |
|
Files changed
| https://github.com/rstackjs/rstack-cli/pull/590/files |
| Please reload this page | https://github.com/rstackjs/rstack-cli/pull/590/files |
|
perf(fmt): reuse compiled gitignore rules and release traversal state
| https://github.com/rstackjs/rstack-cli/pull/590/files#top |
|
Show all changes
4 commits
| https://github.com/rstackjs/rstack-cli/pull/590/files |
|
db53640
perf(fmt): reuse compiled gitignore rules and release traversal state
chenjiahan Oct 22, 2026
| https://github.com/rstackjs/rstack-cli/pull/590/commits/db53640552791b830cbde96db3eb3bd4cb7fe4c8 |
|
627d9d6
test(fmt): simplify gitignore reuse and cleanup coverage
chenjiahan Oct 22, 2026
| https://github.com/rstackjs/rstack-cli/pull/590/commits/627d9d6821f4c2d29490cf8899dd3d10db6bb5d2 |
|
2c65523
perf(fmt): skip settled load draining after successful traversal
chenjiahan Oct 22, 2026
| https://github.com/rstackjs/rstack-cli/pull/590/commits/2c65523e14c6e4f7d0d5cecab00ffcfd0e839c62 |
|
0a5e53a
chore: retry CI
chenjiahan Oct 22, 2026
| https://github.com/rstackjs/rstack-cli/pull/590/commits/0a5e53a873b0a7828da80d7847e399ab9b7f87e3 |
|
Clear filters
| https://github.com/rstackjs/rstack-cli/pull/590/files |
| Please reload this page | https://github.com/rstackjs/rstack-cli/pull/590/files |
| Please reload this page | https://github.com/rstackjs/rstack-cli/pull/590/files |
|
lib.rs
| https://github.com/rstackjs/rstack-cli/pull/590/files#diff-f5921325c98ea1bc1f3f5d4009deab65c40bffc463bce861dd118b3b5f5cd7fb |
|
lib.rs
| https://github.com/rstackjs/rstack-cli/pull/590/files#diff-d4d6755c1cc38aec6fed9dae2ad861280bbae1f572042dfec364a85d841f8776 |
|
binding.d.cts
| https://github.com/rstackjs/rstack-cli/pull/590/files#diff-e40292389d98fa2c6660a5ff37431f76d5ad48646235bafc56e8587c3030f129 |
|
discoverPaths.ts
| https://github.com/rstackjs/rstack-cli/pull/590/files#diff-b8d8b857d34cbf4944377fe4aec873df2f56d610b41572829a2bd904df1f751d |
|
discoveryCleanup.test.ts
| https://github.com/rstackjs/rstack-cli/pull/590/files#diff-843bcc65fc732893b0d2b46de17d829b2b1980374e9b0940a5c0aa31bfb6767b |
| crates/rstack-binding/src/lib.rs | https://github.com/rstackjs/rstack-cli/pull/590/files#diff-f5921325c98ea1bc1f3f5d4009deab65c40bffc463bce861dd118b3b5f5cd7fb |
|
View file
| https://github.com/rstackjs/rstack-cli/blob/0a5e53a873b0a7828da80d7847e399ab9b7f87e3/crates/rstack-binding/src/lib.rs |
|
Open in desktop
| https://desktop.github.com |
| https://github.co/hiddenchars |
| https://github.com/rstackjs/rstack-cli/pull/590/{{ revealButtonHref }} |
|
| https://github.com/rstackjs/rstack-cli/pull/590/files#diff-f5921325c98ea1bc1f3f5d4009deab65c40bffc463bce861dd118b3b5f5cd7fb |
|
| https://github.com/rstackjs/rstack-cli/pull/590/files#diff-f5921325c98ea1bc1f3f5d4009deab65c40bffc463bce861dd118b3b5f5cd7fb |
| crates/rstack-ignore/src/lib.rs | https://github.com/rstackjs/rstack-cli/pull/590/files#diff-d4d6755c1cc38aec6fed9dae2ad861280bbae1f572042dfec364a85d841f8776 |
|
View file
| https://github.com/rstackjs/rstack-cli/blob/0a5e53a873b0a7828da80d7847e399ab9b7f87e3/crates/rstack-ignore/src/lib.rs |
|
Open in desktop
| https://desktop.github.com |
| https://github.co/hiddenchars |
| https://github.com/rstackjs/rstack-cli/pull/590/{{ revealButtonHref }} |
|
| https://github.com/rstackjs/rstack-cli/pull/590/files#diff-d4d6755c1cc38aec6fed9dae2ad861280bbae1f572042dfec364a85d841f8776 |
|
| https://github.com/rstackjs/rstack-cli/pull/590/files#diff-d4d6755c1cc38aec6fed9dae2ad861280bbae1f572042dfec364a85d841f8776 |
|
| https://github.com/rstackjs/rstack-cli/pull/590/files#diff-d4d6755c1cc38aec6fed9dae2ad861280bbae1f572042dfec364a85d841f8776 |
|
| https://github.com/rstackjs/rstack-cli/pull/590/files#diff-d4d6755c1cc38aec6fed9dae2ad861280bbae1f572042dfec364a85d841f8776 |
|
| https://github.com/rstackjs/rstack-cli/pull/590/files#diff-d4d6755c1cc38aec6fed9dae2ad861280bbae1f572042dfec364a85d841f8776 |
|
| https://github.com/rstackjs/rstack-cli/pull/590/files#diff-d4d6755c1cc38aec6fed9dae2ad861280bbae1f572042dfec364a85d841f8776 |
|
| https://github.com/rstackjs/rstack-cli/pull/590/files#diff-d4d6755c1cc38aec6fed9dae2ad861280bbae1f572042dfec364a85d841f8776 |
|
| https://github.com/rstackjs/rstack-cli/pull/590/files#diff-d4d6755c1cc38aec6fed9dae2ad861280bbae1f572042dfec364a85d841f8776 |
|
| https://github.com/rstackjs/rstack-cli/pull/590/files#diff-d4d6755c1cc38aec6fed9dae2ad861280bbae1f572042dfec364a85d841f8776 |
| packages/rstack/binding.d.cts | https://github.com/rstackjs/rstack-cli/pull/590/files#diff-e40292389d98fa2c6660a5ff37431f76d5ad48646235bafc56e8587c3030f129 |
|
View file
| https://github.com/rstackjs/rstack-cli/blob/0a5e53a873b0a7828da80d7847e399ab9b7f87e3/packages/rstack/binding.d.cts |
|
Open in desktop
| https://desktop.github.com |
| https://github.co/hiddenchars |
| https://github.com/rstackjs/rstack-cli/pull/590/{{ revealButtonHref }} |
|
| https://github.com/rstackjs/rstack-cli/pull/590/files#diff-e40292389d98fa2c6660a5ff37431f76d5ad48646235bafc56e8587c3030f129 |
|
| https://github.com/rstackjs/rstack-cli/pull/590/files#diff-e40292389d98fa2c6660a5ff37431f76d5ad48646235bafc56e8587c3030f129 |
| packages/rstack/src/fmt/discoverPaths.ts | https://github.com/rstackjs/rstack-cli/pull/590/files#diff-b8d8b857d34cbf4944377fe4aec873df2f56d610b41572829a2bd904df1f751d |
|
View file
| https://github.com/rstackjs/rstack-cli/blob/0a5e53a873b0a7828da80d7847e399ab9b7f87e3/packages/rstack/src/fmt/discoverPaths.ts |
|
Open in desktop
| https://desktop.github.com |
| https://github.co/hiddenchars |
| https://github.com/rstackjs/rstack-cli/pull/590/{{ revealButtonHref }} |
|
| https://github.com/rstackjs/rstack-cli/pull/590/files#diff-b8d8b857d34cbf4944377fe4aec873df2f56d610b41572829a2bd904df1f751d |
|
| https://github.com/rstackjs/rstack-cli/pull/590/files#diff-b8d8b857d34cbf4944377fe4aec873df2f56d610b41572829a2bd904df1f751d |
|
| https://github.com/rstackjs/rstack-cli/pull/590/files#diff-b8d8b857d34cbf4944377fe4aec873df2f56d610b41572829a2bd904df1f751d |
|
| https://github.com/rstackjs/rstack-cli/pull/590/files#diff-b8d8b857d34cbf4944377fe4aec873df2f56d610b41572829a2bd904df1f751d |
| packages/rstack/tests/fmt/discoveryCleanup.test.ts | https://github.com/rstackjs/rstack-cli/pull/590/files#diff-843bcc65fc732893b0d2b46de17d829b2b1980374e9b0940a5c0aa31bfb6767b |
|
View file
| https://github.com/rstackjs/rstack-cli/blob/0a5e53a873b0a7828da80d7847e399ab9b7f87e3/packages/rstack/tests/fmt/discoveryCleanup.test.ts |
|
Open in desktop
| https://desktop.github.com |
| https://github.co/hiddenchars |
| https://github.com/rstackjs/rstack-cli/pull/590/{{ revealButtonHref }} |
| Please reload this page | https://github.com/rstackjs/rstack-cli/pull/590/files |
|
| https://github.com |
| Terms | https://docs.github.com/site-policy/github-terms/github-terms-of-service |
| Privacy | https://docs.github.com/site-policy/privacy-policies/github-privacy-statement |
| Security | https://github.com/security |
| Status | https://www.githubstatus.com/ |
| Community | https://github.community/ |
| Docs | https://docs.github.com/ |
| Contact | https://support.github.com?tags=dotcom-footer |