You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
This switches away from using a glob match on '**' within
`DirectoryOwnership` matcher in favour of using `git ls-files`. This
provides a significant speed improvement for large repositories for a
few reasons.
The primary reason is that we're only searching through tracked files
and avoiding potentially large directores, such as `node_modules`.
The major intended side effect of this is that it only is dealing with
tracked files rather than all files.
I'm opening the PR for further discussion and refinement to see if this
is worth considering.
Speed comparison for me locally:
Before:
```
❯ time bin/codeownership validate
________________________________________________________
Executed in 16.72 secs fish external
usr time 3.08 secs 0.10 millis 3.08 secs
sys time 10.70 secs 1.59 millis 10.70 secs
```
After:
```
❯ time bin/codeownership validate
________________________________________________________
Executed in 10.67 secs fish external
usr time 2.90 secs 111.00 micros 2.90 secs
sys time 8.65 secs 741.00 micros 8.65 secs
```
0 commit comments