Conversation
Honor ignore_dirs/include/exclude (and gitignore) in _copy_local_tree so watch refresh staging matches upload filtering and does not copy excluded trees into viking://temp. Fixes volcengine#4570
|
Verified the wiring: the filter parameters land on the Reusing the
Nice, focused fix for a genuinely painful deployment pattern. |
|
Thanks @now-ing — follow-up on this head:
The unit test still covers |
Add stage_source-level coverage for watch-shaped ignore_dirs/include/exclude kwargs (volcengine#4604 review nit).
|
Thanks @now-ing — follow-up on the remaining kwargs-plumbing nit: Added est_stage_source_forwards_watch_shaped_filter_kwargs which builds watch-shaped processor_kwargs (ignore_dirs / include / �xclude) and calls stage_source(...) with those fields, asserting only the filtered files land in the staged tree. Together with the earlier empty-excluded-dir coverage, that pins both review suggestions on this head. |
|
Thanks @now-ing — remaining review nit on this head: Added est_stage_source_forwards_watch_shaped_filter_kwargs, which builds watch/processor-shaped ignore_dirs / include / �xclude kwargs and asserts stage_source(...) only stages the filtered files. That pins the seam where #4570 broke (filters not reaching staging), on top of the earlier empty-excluded-dir coverage. Happy to extend further if you want the assertion to go through _prepare_standard_source_plan with a fuller ResourceService mock. |
|
Thanks — verified on |
|
Friendly ping for maintainer review when convenient.
Happy to address any further feedback. |
|
Friendly bump on path-filter application during local tree staging ( Still interested in landing this so watch refresh does not copy excluded paths 鈥?let me know if anything else is needed from review. |
|
Synced with latest main; ready for review when convenient. |
Summary
ignore_dirs/include/excludeintostage_source()_copy_local_tree(including gitignore pruning) so watch refresh does not copy excluded trees intoviking://tempWhy
Server-side watch refresh staged the full local tree before filters ran, which could copy tens of GB of excluded data into temp storage (#4570).
Test plan
pytest tests/resource/test_staged_source_filters.py--ignore-dirs large-data --include '*.md'and confirm excluded files never appear underviking://temp/...Fixes #4570