From 6fcb1b9cf2aaaa492e1b7561b0bf614064f65b4e Mon Sep 17 00:00:00 2001 From: Joe Date: Fri, 6 Mar 2026 23:01:20 -0600 Subject: [PATCH] Update dependencies and enhance path ignore functionality - Updated various dependencies in Cargo.lock and Cargo.toml, including aws-lc-rs, aws-lc-sys, tokio, and uuid to their latest versions. - Refactored the memofs crate to simplify the notify dependency configuration. - Introduced path ignore rules in ChangeProcessor and ServeSession to filter VFS events based on glob patterns, improving event handling efficiency. --- Cargo.lock | 130 ++++++++++++++++++++------------------- Cargo.toml | 4 +- crates/memofs/Cargo.toml | 7 +-- src/change_processor.rs | 18 +++++- src/serve_session.rs | 37 +++++++++-- 5 files changed, 122 insertions(+), 74 deletions(-) diff --git a/Cargo.lock b/Cargo.lock index 0bc4aca4..d23c9e40 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -273,9 +273,9 @@ checksum = "c08606f8c3cbf4ce6ec8e28fb0014a2c086708fe954eaa885384a6165172e7e8" [[package]] name = "aws-lc-rs" -version = "1.16.0" +version = "1.16.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d9a7b350e3bb1767102698302bc37256cbd48422809984b98d292c40e2579aa9" +checksum = "94bffc006df10ac2a68c83692d734a465f8ee6c5b384d8545a636f81d858f4bf" dependencies = [ "aws-lc-sys", "zeroize", @@ -283,9 +283,9 @@ dependencies = [ [[package]] name = "aws-lc-sys" -version = "0.37.1" +version = "0.38.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b092fe214090261288111db7a2b2c2118e5a7f30dc2569f1732c4069a6840549" +checksum = "4321e568ed89bb5a7d291a7f37997c2c0df89809d7b6d12062c81ddb54aa782e" dependencies = [ "cc", "cmake", @@ -582,7 +582,7 @@ checksum = "a92793da1a46a5f2a02a6f4c46c6496b28c43638adea8306fcb0caa1634f24e5" dependencies = [ "heck", "proc-macro2 1.0.106", - "quote 1.0.44", + "quote 1.0.45", "syn 2.0.117", ] @@ -649,9 +649,9 @@ dependencies = [ [[package]] name = "const_fn" -version = "0.4.11" +version = "0.4.12" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2f8a2ca5ac02d09563609681103aada9e1777d54fc57a5acd7a41404f9c93b6e" +checksum = "413d67b29ef1021b4d60f4aa1e925ca031751e213832b4b1d588fae623c05c60" [[package]] name = "constant_time_eq" @@ -921,7 +921,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "97369cbbc041bc366949bc74d34658d6cda5621039731c6310521892a3a20ae0" dependencies = [ "proc-macro2 1.0.106", - "quote 1.0.44", + "quote 1.0.45", "syn 2.0.117", ] @@ -1166,7 +1166,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "e835b70203e41293343137df5c0664546da5745f82ec9b84d40be8336958447b" dependencies = [ "proc-macro2 1.0.106", - "quote 1.0.44", + "quote 1.0.45", "syn 2.0.117", ] @@ -1257,20 +1257,20 @@ dependencies = [ "cfg-if 1.0.4", "js-sys", "libc", - "r-efi", + "r-efi 5.3.0", "wasip2", "wasm-bindgen", ] [[package]] name = "getrandom" -version = "0.4.1" +version = "0.4.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "139ef39800118c7683f2fd3c98c1b23c09ae076556b435f8e9064ae108aaeeec" +checksum = "0de51e6874e94e7bf76d726fc5d13ba782deca734ff60d5bb2fb2607c7406555" dependencies = [ "cfg-if 1.0.4", "libc", - "r-efi", + "r-efi 6.0.0", "rand_core 0.10.0", "wasip2", "wasip3", @@ -1609,9 +1609,9 @@ dependencies = [ [[package]] name = "inotify" -version = "0.11.0" +version = "0.11.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f37dccff2791ab604f9babef0ba14fbe0be30bd368dc541e2b08d07c8aa908f3" +checksum = "bd5b3eaf1a28b758ac0faa5a4254e8ab2705605496f1b1f3fbbc3988ad73d199" dependencies = [ "bitflags 2.11.0", "inotify-sys", @@ -1644,9 +1644,9 @@ dependencies = [ [[package]] name = "ipnet" -version = "2.11.0" +version = "2.12.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "469fb0b9cefa57e3ef31275ee7cacb78f2fdca44e4765491884a2b119d4eb130" +checksum = "d98f6fed1fde3f8c21bc40a1abb88dd75e67924f9cffc3ef95607bad8017f8e2" [[package]] name = "iri-string" @@ -1681,9 +1681,9 @@ checksum = "92ecc6618181def0457392ccd0ee51198e065e016d1d527a7ac1b6dc7c1f09d2" [[package]] name = "jiff" -version = "0.2.22" +version = "0.2.23" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "819b44bc7c87d9117eb522f14d46e918add69ff12713c475946b0a29363ed1c2" +checksum = "1a3546dc96b6d42c5f24902af9e2538e82e39ad350b0c766eb3fbf2d8f3d8359" dependencies = [ "jiff-static", "log", @@ -1694,12 +1694,12 @@ dependencies = [ [[package]] name = "jiff-static" -version = "0.2.22" +version = "0.2.23" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "470252db18ecc35fd766c0891b1e3ec6cbbcd62507e85276c01bf75d8e94d4a1" +checksum = "2a8c8b344124222efd714b73bb41f8b5120b27a7cc1c75593a6ff768d9d05aa4" dependencies = [ "proc-macro2 1.0.106", - "quote 1.0.44", + "quote 1.0.45", "syn 2.0.117", ] @@ -2176,7 +2176,7 @@ dependencies = [ "pest", "pest_meta", "proc-macro2 1.0.106", - "quote 1.0.44", + "quote 1.0.45", "syn 2.0.117", ] @@ -2360,7 +2360,7 @@ version = "1.0.17" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "52717f9a02b6965224f95ca2a81e2e0c5c43baacd28ca057577988930b6c3d5b" dependencies = [ - "quote 1.0.44", + "quote 1.0.45", "syn 2.0.117", ] @@ -2440,9 +2440,9 @@ dependencies = [ [[package]] name = "quote" -version = "1.0.44" +version = "1.0.45" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "21b2ebcf727b7760c461f091f9f0f539b77b8e87f2fd88131e7f1b433b3cece4" +checksum = "41f2619966050689382d2b44f664f4bc593e129785a36d6ee376ddf37259b924" dependencies = [ "proc-macro2 1.0.106", ] @@ -2453,6 +2453,12 @@ version = "5.3.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "69cdb34c158ceb288df11e18b4bd39de994f6657d83847bdffdbd7f346754b0f" +[[package]] +name = "r-efi" +version = "6.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f8dcc9c7d52a811697d2151c701e0d08956f92b0e24136cf4cf27b57a6a0d9bf" + [[package]] name = "rand" version = "0.9.2" @@ -2470,7 +2476,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "bc266eb313df6c5c09c1c7b1fbe2510961e5bcd3add930c1e31f7ed9da0feff8" dependencies = [ "chacha20", - "getrandom 0.4.1", + "getrandom 0.4.2", "rand_core 0.10.0", ] @@ -2692,7 +2698,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "b7186006dcb21920990093f30e3dea63b7d6e977bf1256be20c3563a5db070da" dependencies = [ "proc-macro2 1.0.106", - "quote 1.0.44", + "quote 1.0.45", "syn 2.0.117", ] @@ -3021,7 +3027,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "7d115b50f4aaeea07e79c1912f645c7513d81715d0420f8bc77a18c6260b307f" dependencies = [ "proc-macro2 1.0.106", - "quote 1.0.44", + "quote 1.0.45", "serde_derive_internals", "syn 2.0.117", ] @@ -3118,7 +3124,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "d540f220d3187173da220f885ab66608367b6574e925011a9353e4badda91d79" dependencies = [ "proc-macro2 1.0.106", - "quote 1.0.44", + "quote 1.0.45", "syn 2.0.117", ] @@ -3129,7 +3135,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "18d26a20a969b9e3fdf2fc2d9f21eda6c40e2de84c9408bb5d3b05d499aae711" dependencies = [ "proc-macro2 1.0.106", - "quote 1.0.44", + "quote 1.0.45", "syn 2.0.117", ] @@ -3255,12 +3261,12 @@ dependencies = [ [[package]] name = "socket2" -version = "0.6.2" +version = "0.6.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "86f4aa3ad99f2088c990dfa82d367e19cb29268ed67c574d10d0a4bfe71f07e0" +checksum = "3a766e1110788c36f4fa1c2b71b387a7815aa65f88ce0229841826633d93723e" dependencies = [ "libc", - "windows-sys 0.60.2", + "windows-sys 0.61.2", ] [[package]] @@ -3299,7 +3305,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "c87a60a40fccc84bef0652345bbbbbe20a605bf5d0ce81719fc476f5c03b50ef" dependencies = [ "proc-macro2 1.0.106", - "quote 1.0.44", + "quote 1.0.45", "serde", "serde_derive", "syn 1.0.109", @@ -3313,7 +3319,7 @@ checksum = "58fa5ff6ad0d98d1ffa8cb115892b6e69d67799f6763e162a1c9db421dc22e11" dependencies = [ "base-x", "proc-macro2 1.0.106", - "quote 1.0.44", + "quote 1.0.45", "serde", "serde_derive", "serde_json", @@ -3356,7 +3362,7 @@ checksum = "7695ce3845ea4b33927c055a39dc438a45b059f7c1b3d91d38d10355fb8cbca7" dependencies = [ "heck", "proc-macro2 1.0.106", - "quote 1.0.44", + "quote 1.0.45", "syn 2.0.117", ] @@ -3373,7 +3379,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "72b64191b275b66ffe2469e8af2c1cfe3bafa67b529ead792a6d0160888b4237" dependencies = [ "proc-macro2 1.0.106", - "quote 1.0.44", + "quote 1.0.45", "unicode-ident", ] @@ -3384,7 +3390,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "e665b8803e7b1d2a727f4023456bbbbe74da67099c585258af0ad9c5013b9b99" dependencies = [ "proc-macro2 1.0.106", - "quote 1.0.44", + "quote 1.0.45", "unicode-ident", ] @@ -3404,7 +3410,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "728a70f3dbaf5bab7f0c4b1ac8d7ae5ea60a4b5549c8a5914361c99147a709d2" dependencies = [ "proc-macro2 1.0.106", - "quote 1.0.44", + "quote 1.0.45", "syn 2.0.117", ] @@ -3415,7 +3421,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "82a72c767771b47409d2345987fda8628641887d5466101319899796367354a0" dependencies = [ "fastrand", - "getrandom 0.4.1", + "getrandom 0.4.2", "once_cell", "rustix", "windows-sys 0.61.2", @@ -3464,7 +3470,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "4fee6c4efc90059e10f81e6d42c60a18f76588c3d74cb83a0b242a2b6c7504c1" dependencies = [ "proc-macro2 1.0.106", - "quote 1.0.44", + "quote 1.0.45", "syn 2.0.117", ] @@ -3475,7 +3481,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "ebc4ee7f67670e9b64d05fa4253e753e016c6c95ff35b89b7941d6b856dec1d5" dependencies = [ "proc-macro2 1.0.106", - "quote 1.0.44", + "quote 1.0.45", "syn 2.0.117", ] @@ -3552,7 +3558,7 @@ checksum = "fd3c141a1b43194f3f56a1411225df8646c55781d5f26db825b3d98507eb482f" dependencies = [ "proc-macro-hack", "proc-macro2 1.0.106", - "quote 1.0.44", + "quote 1.0.45", "standback", "syn 1.0.109", ] @@ -3594,9 +3600,9 @@ checksum = "1f3ccbac311fea05f86f61904b462b55fb3df8837a366dfc601a0161d0532f20" [[package]] name = "tokio" -version = "1.49.0" +version = "1.50.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "72a2903cd7736441aac9df9d7688bd0ce48edccaadf181c3b90be801e81d3d86" +checksum = "27ad5e34374e03cfffefc301becb44e9dc3c17584f414349ebe29ed26661822d" dependencies = [ "bytes", "libc", @@ -3609,12 +3615,12 @@ dependencies = [ [[package]] name = "tokio-macros" -version = "2.6.0" +version = "2.6.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "af407857209536a95c8e56f8231ef2c2e2aff839b22e07a1ffcbc617e9db9fa5" +checksum = "5c55a2eff8b69ce66c84f85e1da1c233edc36ceb85a2058d11b0d6a3c7e7569c" dependencies = [ "proc-macro2 1.0.106", - "quote 1.0.44", + "quote 1.0.45", "syn 2.0.117", ] @@ -3772,7 +3778,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "7490cfa5ec963746568740651ac6781f701c9c5ea257c58e057f3ba8cf69e8da" dependencies = [ "proc-macro2 1.0.106", - "quote 1.0.44", + "quote 1.0.45", "syn 2.0.117", ] @@ -3971,11 +3977,11 @@ checksum = "06abde3611657adf66d383f00b093d7faecc7fa57071cce2578660c9f1010821" [[package]] name = "uuid" -version = "1.21.0" +version = "1.22.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b672338555252d43fd2240c714dc444b8c6fb0a5c5335e65a07bba7742735ddb" +checksum = "a68d3c8f01c0cfa54a75291d83601161799e4a89a39e0929f4b0354d88757a37" dependencies = [ - "getrandom 0.4.1", + "getrandom 0.4.2", "js-sys", "serde_core", "wasm-bindgen", @@ -4107,7 +4113,7 @@ version = "0.2.114" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "18a2d50fcf105fb33bb15f00e7a77b772945a2ee45dcf454961fd843e74c18e6" dependencies = [ - "quote 1.0.44", + "quote 1.0.45", "wasm-bindgen-macro-support", ] @@ -4119,7 +4125,7 @@ checksum = "03ce4caeaac547cdf713d280eda22a730824dd11e6b8c3ca9e42247b25c631e3" dependencies = [ "bumpalo", "proc-macro2 1.0.106", - "quote 1.0.44", + "quote 1.0.45", "syn 2.0.117", "wasm-bindgen-shared", ] @@ -4475,9 +4481,9 @@ checksum = "d6bbff5f0aada427a1e5a6da5f1f98158182f26556f345ac9e04d36d0ebed650" [[package]] name = "winnow" -version = "0.7.14" +version = "0.7.15" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5a5364e9d77fcdeeaa6062ced926ee3381faa2ee02d3eb83a5c27a8825540829" +checksum = "df79d97927682d2fd8adb29682d1140b343be4ac0f08fd68b7765d9c059d3945" [[package]] name = "winreg" @@ -4552,7 +4558,7 @@ dependencies = [ "anyhow", "prettyplease", "proc-macro2 1.0.106", - "quote 1.0.44", + "quote 1.0.45", "syn 2.0.117", "wit-bindgen-core", "wit-bindgen-rust", @@ -4651,7 +4657,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "b659052874eb698efe5b9e8cf382204678a0086ebf46982b79d6ca3182927e5d" dependencies = [ "proc-macro2 1.0.106", - "quote 1.0.44", + "quote 1.0.45", "syn 2.0.117", "synstructure", ] @@ -4672,7 +4678,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "f65c489a7071a749c849713807783f70672b28094011623e200cb86dcb835953" dependencies = [ "proc-macro2 1.0.106", - "quote 1.0.44", + "quote 1.0.45", "syn 2.0.117", ] @@ -4692,7 +4698,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "d71e5d6e06ab090c67b5e44993ec16b72dcbaabc526db883a360057678b48502" dependencies = [ "proc-macro2 1.0.106", - "quote 1.0.44", + "quote 1.0.45", "syn 2.0.117", "synstructure", ] @@ -4732,7 +4738,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "eadce39539ca5cb3985590102671f2567e659fca9666581ad3411d59207951f3" dependencies = [ "proc-macro2 1.0.106", - "quote 1.0.44", + "quote 1.0.45", "syn 2.0.117", ] diff --git a/Cargo.toml b/Cargo.toml index 7976740a..30492cb3 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -99,11 +99,11 @@ toml = "0.9" termcolor = "1.4.1" time = "0.3" thiserror = "2" -tokio = { version = "1.49.0", features = ["rt", "rt-multi-thread", "macros", "sync"] } +tokio = { version = "1.50.0", features = ["rt", "rt-multi-thread", "macros", "sync"] } tracing = "0.1" tracing-appender = "0.2" tracing-subscriber = { version = "0.3", features = ["env-filter", "fmt", "time"] } -uuid = { version = "1.21.0", features = ["v4", "serde"] } +uuid = { version = "1.22.0", features = ["v4", "serde"] } clap = { version = "4", features = ["derive", "env"] } clap_complete = "4" profiling = "1.0.17" diff --git a/crates/memofs/Cargo.toml b/crates/memofs/Cargo.toml index 1eb76ec5..b613fabe 100644 --- a/crates/memofs/Cargo.toml +++ b/crates/memofs/Cargo.toml @@ -21,11 +21,8 @@ log = "0.4" notify-debouncer-full = "0.7" serde = { version = "1.0.228", features = ["derive"] } -[target.'cfg(target_os = "macos")'.dependencies] -notify = { version = "8.2", features = ["macos_kqueue"] } - -[target.'cfg(not(target_os = "macos"))'.dependencies] -notify = "8.2" +[dependencies.notify] +version = "8.2" [dev-dependencies] tempfile = "3.26.0" diff --git a/src/change_processor.rs b/src/change_processor.rs index 4d3b05db..26806e4d 100644 --- a/src/change_processor.rs +++ b/src/change_processor.rs @@ -14,7 +14,8 @@ use std::{ use crate::{ message_queue::MessageQueue, snapshot::{ - apply_patch_set, compute_patch_set, AppliedPatchSet, InstigatingSource, PatchSet, RojoTree, + apply_patch_set, compute_patch_set, AppliedPatchSet, InstigatingSource, PatchSet, + PathIgnoreRule, RojoTree, }, snapshot_middleware::{is_script_relevant_path, snapshot_from_vfs, snapshot_project_node}, syncback::{ @@ -93,6 +94,7 @@ impl ChangeProcessor { critical_error_receiver: Option>, git_repo_root: Option, sync_scripts_only: bool, + path_ignore_rules: Vec, ) -> Self { let (shutdown_sender, shutdown_receiver) = crossbeam_channel::bounded(1); let vfs_receiver = vfs.event_receiver(); @@ -111,6 +113,7 @@ impl ChangeProcessor { ref_path_index, git_repo_root, sync_scripts_only, + path_ignore_rules, }; let job_thread = jod_thread::Builder::new() @@ -273,6 +276,9 @@ struct JobThreadContext { /// When true, only script-related VFS events are processed. sync_scripts_only: bool, + + /// Rules from `globIgnorePaths` -- VFS events matching these are discarded. + path_ignore_rules: Vec, } impl JobThreadContext { @@ -728,6 +734,16 @@ impl JobThreadContext { } } + if let Some(ref path) = event_path { + if !self.path_ignore_rules.iter().all(|rule| rule.passes(path)) { + log::trace!( + "VFS event SKIPPED (globIgnorePaths): {}", + self.display_path(path) + ); + return Vec::new(); + } + } + if self.sync_scripts_only { if let Some(ref path) = event_path { if path.is_file() { diff --git a/src/serve_session.rs b/src/serve_session.rs index f71f756f..4e7ea9e1 100644 --- a/src/serve_session.rs +++ b/src/serve_session.rs @@ -17,7 +17,7 @@ use crate::{ session_id::SessionId, snapshot::{ apply_patch_set, compute_patch_set, AppliedPatchSet, InstanceContext, InstanceSnapshot, - PatchSet, RojoTree, + PatchSet, PathIgnoreRule, RojoTree, }, snapshot_middleware::{is_script_relevant_path, snapshot_from_vfs, INIT_FILE_PRIORITY}, }; @@ -138,6 +138,15 @@ fn prefetch_project_files(project: &Project, sync_scripts_only: bool) -> io::Res let folder = project.folder_location(); + let ignore_rules: Vec = project + .glob_ignore_paths + .iter() + .map(|glob| PathIgnoreRule { + glob: glob.clone(), + base_path: folder.to_path_buf(), + }) + .collect(); + let mut roots: Vec = Vec::new(); collect_path_roots(&project.tree, folder, &mut roots); @@ -160,6 +169,10 @@ fn prefetch_project_files(project: &Project, sync_scripts_only: bool) -> io::Res }); } + let passes_ignore = |entry: &walkdir::DirEntry| -> bool { + ignore_rules.iter().all(|rule| rule.passes(entry.path())) + }; + let walk_start = Instant::now(); let mut entries: Vec = Vec::new(); @@ -181,6 +194,8 @@ fn prefetch_project_files(project: &Project, sync_scripts_only: bool) -> io::Res // Recursive walk of each $path root. Canonicalize to resolve ".." // before the equality/starts_with checks. + // filter_entry skips entire subtrees when a directory matches + // globIgnorePaths, preventing descent into ignored directories. let canonical_folder = std::fs::canonicalize(folder).unwrap_or_else(|_| folder.to_path_buf()); let mut walked_roots: Vec = Vec::new(); for root in &roots { @@ -192,18 +207,22 @@ fn prefetch_project_files(project: &Project, sync_scripts_only: bool) -> io::Res walked_roots.push(root.clone()); } if canonical_root == canonical_folder { - // $path points to the project folder itself -- shallow walk - // already covers depth 0-1, fill in the subtree. for e in WalkDir::new(root) .follow_links(true) .min_depth(2) .into_iter() + .filter_entry(&passes_ignore) .flatten() { entries.push(e); } } else { - for e in WalkDir::new(root).follow_links(true).into_iter().flatten() { + for e in WalkDir::new(root) + .follow_links(true) + .into_iter() + .filter_entry(&passes_ignore) + .flatten() + { entries.push(e); } } @@ -435,6 +454,15 @@ impl ServeSession { .as_deref() .and_then(crate::git::git_head_commit); + let path_ignore_rules: Vec = root_project + .glob_ignore_paths + .iter() + .map(|glob| PathIgnoreRule { + glob: glob.clone(), + base_path: root_project.folder_location().to_path_buf(), + }) + .collect(); + log::trace!("Starting ChangeProcessor"); let change_processor = ChangeProcessor::start( Arc::clone(&tree), @@ -448,6 +476,7 @@ impl ServeSession { critical_error_receiver, git_repo_root.clone(), root_project.sync_scripts_only.unwrap_or(false), + path_ignore_rules, ); Ok(Self {