Antonio Scandurra
9cd1d5e607
Avoid cloning entry in Snapshot::entry_for_path
2021-04-24 10:14:17 +02:00
Max Brunsfeld
6a7308b87a
Avoid storing redundant copies of file paths
...
Co-Authored-By: Nathan Sobo <nathan@zed.dev>
2021-04-23 21:17:26 -07:00
Max Brunsfeld
054203d21c
Fix fuzzy matching after removing root dirname from stored paths
...
Co-Authored-By: Nathan Sobo <nathan@zed.dev>
2021-04-23 15:22:47 -07:00
Nathan Sobo
dced9469f5
WIP
...
Co-Authored-By: Max Brunsfeld <maxbrunsfeld@gmail.com>
2021-04-23 12:47:23 -06:00
Nathan Sobo
c9d7249305
WIP
...
Co-Authored-By: Max Brunsfeld <maxbrunsfeld@gmail.com>
2021-04-23 11:37:23 -06:00
Antonio Scandurra
ec2e1c3045
Rename PathSearch::Sibling
to PathSearch::Successor
...
Co-Authored-By: Nathan Sobo <nathan@zed.dev>
2021-04-23 17:15:04 +02:00
Antonio Scandurra
8f2fc079fd
Restructure Worktree to index entries by path
2021-04-23 15:25:59 +02:00
Max Brunsfeld
ae5f02d2e9
Use getmntinfo(3) to list mounted volumes
...
Co-Authored-By: Nathan Sobo <nathan@zed.dev>
2021-04-22 15:41:03 -07:00
Max Brunsfeld
b37b047400
Start work on excluding separate mount dirs
...
Co-Authored-By: Nathan Sobo <nathan@zed.dev>
2021-04-22 14:11:46 -07:00
Max Brunsfeld
3e44a0adae
Avoid redundant clearing of descendants when scanning dirs
...
Co-Authored-By: Nathan Sobo <nathan@zed.dev>
2021-04-22 10:30:47 -07:00
Antonio Scandurra
b2e7a2c42a
Log when there's an error while scanning a directory
...
Co-Authored-By: Max Brunsfeld <max@zed.dev>
Co-Authored-By: Nathan Sobo <nathan@zed.dev>
2021-04-22 19:15:37 +02:00
Antonio Scandurra
99f51c0d85
Simulate .gitignore
s in the randomized test
...
Co-Authored-By: Max Brunsfeld <max@zed.dev>
Co-Authored-By: Nathan Sobo <nathan@zed.dev>
2021-04-22 18:57:46 +02:00
Antonio Scandurra
928ce0eec8
Clear descendants of existing children when scanning a directory
...
Co-Authored-By: Max Brunsfeld <max@zed.dev>
Co-Authored-By: Nathan Sobo <nathan@zed.dev>
2021-04-22 18:42:11 +02:00
Antonio Scandurra
9723e46af4
Replace linear scan of entries with a custom FileIter
2021-04-22 17:29:36 +02:00
Antonio Scandurra
c429a937be
Remove is_ignored
from PathEntry
and lean more on the tree instead
2021-04-22 16:49:11 +02:00
Antonio Scandurra
f3b663e375
Ignore .git
folder
2021-04-22 16:48:13 +02:00
Antonio Scandurra
19a2856780
Let ignore edits batch naturally without imposing a max batch len
2021-04-22 16:47:41 +02:00
Antonio Scandurra
af3bc236b7
Recompute ignore status when .gitignore changes or for new entries
2021-04-22 15:14:23 +02:00
Max Brunsfeld
499e55e950
Start work on handling changes to gitignore files
...
* Use the published ignore crate
* Store ignore objects on snapshot, and use them to compute
files' ignored status dynamically, instead of storing the
ignored status on the file.
2021-04-21 18:11:52 -07:00
Max Brunsfeld
427930cd8a
wip - gitignore handling on rescan
2021-04-21 12:30:30 -07:00
Max Brunsfeld
8e0ca2056e
Store paths as strings on PathMatch structs
...
Co-Authored-By: Nathan Sobo <nathan@zed.dev>
2021-04-21 12:05:34 -07:00
Max Brunsfeld
955268e2a6
Check worktree invariants in randomized test
...
Co-Authored-By: Nathan Sobo <nathan@zed.dev>
2021-04-21 11:46:49 -07:00
Max Brunsfeld
ce28dc39ff
Fix missing insert in populate_dir
...
Co-Authored-By: Nathan Sobo <nathan@zed.dev>
2021-04-21 11:39:50 -07:00
Nathan Sobo
a898acf6b5
WIP
...
Co-Authored-By: Max Brunsfeld <maxbrunsfeld@gmail.com>
2021-04-21 12:29:16 -06:00
Nathan Sobo
56b48c8229
WIP: Establish new invariant-maintaining API for mutating worktree snapshots
...
Co-Authored-By: Max Brunsfeld <maxbrunsfeld@gmail.com>
2021-04-21 12:08:09 -06:00
Antonio Scandurra
031d5ac7d4
WIP
...
Co-Authored-By: Nathan Sobo <nathan@zed.dev>
2021-04-21 16:58:17 +02:00
Antonio Scandurra
fd8125b22c
Re-enable file finder test and bind menu:select-{next-prev}
2021-04-21 10:07:32 +02:00
Max Brunsfeld
9518cef0a2
Merge pull request #23 from zed-industries/fix-mac-mini-failures
...
Use our own scoped_pool implementation
2021-04-20 16:01:47 -07:00
Max Brunsfeld
b20f5e9139
Fully halt background scanner threads when dropping Worktree
...
* Rework fsevent API to expose a handle for halting the event stream
Co-Authored-By: Nathan Sobo <nathan@zed.dev>
2021-04-20 15:55:29 -07:00
Max Brunsfeld
9fd8acdce7
Use our own scoped_pool implementation
2021-04-20 14:07:36 -07:00
Max Brunsfeld
265ad90034
Stop processing events if root path is deleted
...
Co-Authored-By: Antonio Scandurra <me@as-cii.com>
2021-04-20 10:40:17 -07:00
Max Brunsfeld
85f8537017
Worktree: silence log message when dir is overwritten by file
...
Co-Authored-By: Antonio Scandurra <me@as-cii.com>
2021-04-20 10:12:48 -07:00
Nathan Sobo
5cbbf620ed
WIP
...
Co-Authored-By: Max Brunsfeld <maxbrunsfeld@gmail.com>
Co-Authored-By: Antonio Scandurra <me@as-cii.com>
2021-04-20 10:59:12 -06:00
Nathan Sobo
9899614f31
Remove task_done condvar which supported finish_pending_tasks
...
Co-Authored-By: Max Brunsfeld <maxbrunsfeld@gmail.com>
Co-Authored-By: Antonio Scandurra <me@as-cii.com>
2021-04-20 10:45:42 -06:00
Nathan Sobo
1a8e909a38
Ensure we remove broadcast channels after all conditions resolve
...
Co-Authored-By: Max Brunsfeld <maxbrunsfeld@gmail.com>
Co-Authored-By: Antonio Scandurra <me@as-cii.com>
2021-04-20 10:43:13 -06:00
Nathan Sobo
dcc2bdfd4c
Panic when awaiting conditions on dropped entities
...
Co-Authored-By: Max Brunsfeld <maxbrunsfeld@gmail.com>
Co-Authored-By: Antonio Scandurra <me@as-cii.com>
2021-04-20 10:36:54 -06:00
Antonio Scandurra
ddd746b9f9
Use env_logger
instead of simplelog
in tests
...
Co-Authored-By: Nathan Sobo <nathan@zed.dev>
2021-04-20 17:34:14 +02:00
Antonio Scandurra
37444acc9c
Time out condition
after 200ms and add basic unit tests for it
...
Co-Authored-By: Nathan Sobo <nathan@zed.dev>
2021-04-20 17:21:29 +02:00
Antonio Scandurra
cd7dccd30c
Replace remaining usages of finish_pending_tasks
with condition
2021-04-20 12:28:30 +02:00
Antonio Scandurra
ebb7124405
Use scan_complete
and the new ModelHandle::condition
test method
2021-04-20 11:48:12 +02:00
Antonio Scandurra
d11d5483b6
Rework Worktree::scan_complete
to use a watch
2021-04-20 11:24:46 +02:00
Nathan Sobo
a4c1fe5a0b
WIP: Add a condition method to model and view handles for use in tests
...
It returns a future that resolves when the provided predicate returns true. The predicate is called any time the handle's targeted entity calls notify.
Still need to add a timeout and completely remove finsih_pending_tasks.
2021-04-19 22:01:54 -06:00
Max Brunsfeld
69a43afcbd
Add a method for waiting until a worktree's current scan is complete
...
Start removing usages of finish_pending_tasks in tests
2021-04-19 17:45:01 -07:00
Max Brunsfeld
8fb79a3094
Enable split debuginfo for faster compiles
2021-04-19 15:00:10 -07:00
Max Brunsfeld
f27b01fcd5
Get all worktree tests passing
...
* Store non-canocalized path on worktree, but canonicalize it for the purpose of processing events
* Simplify rescan unit test
2021-04-19 14:11:55 -07:00
Max Brunsfeld
f06164ade9
💄 process_events
2021-04-19 13:19:34 -07:00
Max Brunsfeld
e44a59dc7d
Worktree: handle files being renamed to overwrite dirs
2021-04-19 13:07:32 -07:00
Max Brunsfeld
47f0b94d0c
Add an example executable for fsevents
2021-04-19 13:05:34 -07:00
Max Brunsfeld
0fd3f55730
💄 Reduce nesting in Snapshot::remove_path
2021-04-19 12:15:24 -07:00
Max Brunsfeld
3e93fb9459
Get worktree randomized test passing
...
Co-Authored-By: Antonio Scandurra <me@as-cii.com>
2021-04-19 11:59:22 -07:00