Commit Graph

20601 Commits

Author SHA1 Message Date
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
Antonio Scandurra
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
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
b68b0fce56 Add simple unit test for SumTree::{edit,get} 2021-04-16 16:26:40 +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