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 and Nathan Sobo
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 and Nathan Sobo
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 and Max Brunsfeld
a898acf6b5
WIP
...
Co-Authored-By: Max Brunsfeld <maxbrunsfeld@gmail.com >
2021-04-21 12:29:16 -06:00
Nathan Sobo and Max Brunsfeld
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 and Nathan Sobo
031d5ac7d4
WIP
...
Co-Authored-By: Nathan Sobo <nathan@zed.dev >
2021-04-21 16:58:17 +02:00
Max Brunsfeld and Nathan Sobo
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 and Antonio Scandurra
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 and Antonio Scandurra
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
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
Antonio Scandurra and Nathan Sobo
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 and Nathan Sobo
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
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
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
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
0fd3f55730
💄 Reduce nesting in Snapshot::remove_path
2021-04-19 12:15:24 -07:00
Max Brunsfeld and Antonio Scandurra
3e93fb9459
Get worktree randomized test passing
...
Co-Authored-By: Antonio Scandurra <me@as-cii.com >
2021-04-19 11:59:22 -07:00
Antonio Scandurra and Max Brunsfeld
122926dcde
WIP: Associate entry names with directory children
...
Co-Authored-By: Max Brunsfeld <max@zed.dev >
2021-04-19 20:16:54 +02:00
Antonio Scandurra
f8f6a85ab0
WIP
2021-04-19 19:41:37 +02:00
Antonio Scandurra
06858c023c
Enable logging automatically when passing a SEED env variable
2021-04-19 13:01:13 +02:00
Antonio Scandurra
2c72f9c14f
Don't change parent entries for moves within the same directory
2021-04-19 13:00:13 +02:00
Antonio Scandurra
f29c42904e
Recompute the PathEntry for each file under a re-parented subtree
2021-04-19 12:53:02 +02:00
Antonio Scandurra
ca62d01b53
Start on a randomized test for Worktree
2021-04-19 12:01:33 +02:00
Max Brunsfeld
17f2df3e71
Update entries' filenames when handling move events
2021-04-17 15:22:52 -07:00
Max Brunsfeld
5b05e57441
Start filling out new structure for processing fs events
2021-04-16 15:22:46 -07:00
Nathan Sobo and Max Brunsfeld
6a549727ce
WIP: Lay down a skeleton for another attempt at rescan
...
Co-Authored-By: Max Brunsfeld <maxbrunsfeld@gmail.com >
2021-04-16 12:53:07 -06:00
Antonio Scandurra
e19a56c366
WIP
2021-04-16 19:54:46 +02:00
Antonio Scandurra
ce5fbbb46b
WIP
2021-04-16 17:22:30 +02:00
Antonio Scandurra
457d945376
Avoid unnecessary cloning of items when calling SumTree::edit
2021-04-16 16:16:46 +02:00
Antonio Scandurra
09c4d65194
💄
2021-04-16 16:13:28 +02:00
Antonio Scandurra
fbd5fbd703
Parallelize scanning of changed directories
2021-04-16 16:11:55 +02:00
Antonio Scandurra
fd12117288
Start on rescanning Worktree
2021-04-16 15:25:43 +02:00
Nathan Sobo
b55acb63f0
Fix warning
2021-04-15 21:05:18 -06:00
Nathan Sobo
358fad8242
Replace the old worktree with the new one
2021-04-15 21:02:30 -06:00
Nathan Sobo
5648c67d54
Perform path matching on Worktree snapshots
...
We're going to need something that can be moved to a background thread. Worktree used to be easy to clone, but that's no longer really true. Instead we can take a snapshot.
2021-04-15 20:29:45 -06:00
Max Brunsfeld and Nathan Sobo
3fa4e5acee
Fill out some missing parts of the new worktree module
...
Co-Authored-By: Nathan Sobo <nathan@zed.dev >
2021-04-15 17:39:32 -07:00
Max Brunsfeld and Antonio Scandurra
497dedbb84
Get file IO test passing on new worktree
...
Co-Authored-By: Antonio Scandurra <me@as-cii.com >
2021-04-15 11:22:00 -07:00
Antonio Scandurra and Nathan Sobo
cefc753123
Re-introduce fuzzy-matching on the new WorkTree implementation
...
Co-Authored-By: Nathan Sobo <nathan@zed.dev >
2021-04-15 18:18:53 +02:00
Antonio Scandurra
0bbff090f0
WIP
2021-04-15 12:10:37 +02:00
Nathan Sobo
36e6ed3aef
WIP
2021-04-14 12:38:16 -06:00