ok/jj
1
0
Fork 0
forked from mirrors/jj
jj/lib
Martin von Zweigbergk cd0023e796 tree: if matcher says that tree should be skipped, skip it
When using a sparse working copy (e.g. with no files at all) and
updating the working copy from the root commit to a commit with
millions of files, we shouldn't have to walk the parts of the diff
that doesn't match the sparse patterns. However, we still do the full
walk because our `Tree::diff()` currently doesn't care about what the
matcher tells us to visit, it only filters out unwanted files after
visiting them. This commit fixes that for the special (but common)
case of matching nothing in a directory.

I tried also adding special handling for when the matcher says that we
should only visit a few entries, but it wasn't clearly better in the
cases I tested it on. I'll keep that patch around and might send it if
I find some cases where it helps.
2023-05-03 18:21:51 -07:00
..
benches
gen-protos cargo: bump prost-build from 0.11.8 to 0.11.9 2023-04-14 16:11:09 +00:00
src tree: if matcher says that tree should be skipped, skip it 2023-05-03 18:21:51 -07:00
tests revset: add substitution rule for nested descendants/children 2023-04-24 20:45:13 +09:00
testutils cargo: bump git2 from 0.17.0 to 0.17.1 2023-04-17 09:19:58 -07:00
build.rs
Cargo.toml cargo: downgrade tracing from yanked 0.1.38 to 0.1.37 2023-04-29 22:59:52 -07:00