Max Brunsfeld
b22a18345e
Emit loaded events for lazily loaded paths in worktree
2023-06-23 09:39:37 -07:00
Max Brunsfeld
ffb0a215ea
Fix randomized worktree test failures
...
* Distinguish between unloaded and pending directories via separate entry kind.
* Scan directories before updating ignore statuses after fs events.
2023-06-22 16:52:04 -07:00
Max Brunsfeld
5350164db9
Get integration test passing. Wait for expand entry on remote projects.
2023-06-22 10:34:28 -07:00
Max Brunsfeld
400e3cda32
Scan directories when they stop being ignored
2023-06-22 10:34:28 -07:00
Max Brunsfeld
d3477f75ac
Fix reloading of git repositories
...
Also, clean up logic for reloading git repositories.
2023-06-22 10:34:28 -07:00
Max Brunsfeld
4424dafcd7
Fix expansion of ancestor directories when refreshing a path
2023-06-22 10:34:28 -07:00
Max Brunsfeld
3e6aedfc69
Expand dirs on-demand when opening buffers inside unloaded dirs
2023-06-22 10:34:28 -07:00
Max Brunsfeld
cd823ede4d
Add a bit to each entry indicating if it's outside of the worktree root
2023-06-22 10:34:28 -07:00
Max Brunsfeld
1b71589514
Fix confusion between canonical vs non-canonical paths when rescanning, expanding paths
2023-06-22 10:34:28 -07:00
Max Brunsfeld
3c06bd056a
Load git repositories when inserting the entry for the .git
...
Don't wait until populating that directory entry, for two reasons:
* In the case of submodules, .git is not a directory
* We don't eagerly populate .git directories, since their contents
are automatically ignored.
2023-06-22 10:34:28 -07:00
Max Brunsfeld
6fe74602ac
Fix detection of when refreshed paths are outside of worktree root
2023-06-22 10:34:28 -07:00
Max Brunsfeld
205c758e4e
Wait for ignored directory to be expanded in descendant entries test
2023-06-22 10:34:28 -07:00
Max Brunsfeld
aa6f2f1816
Remove logic for marking worktree entries as collapsed
2023-06-22 10:34:28 -07:00
Max Brunsfeld
f910d8fe3e
Only scan ignored or externals paths if expanded in a project panel
2023-06-22 10:34:28 -07:00
Max Brunsfeld
4c03231863
Maintain on the background scanner a set of expanded directories
2023-06-22 10:34:28 -07:00
Nathan Sobo
8c298a9da5
Rename SumTree::push_tree to ::append
2023-06-19 19:49:33 -06:00
Max Brunsfeld
c17dbab6f1
Move worktree tests to their own file
2023-06-13 10:22:14 -07:00
Mikayla Maki
fc1f8c5657
Fixed ci
2023-06-07 16:58:55 -07:00
Mikayla Maki
8ca1a7d43d
add scan_complete await
2023-06-07 16:51:54 -07:00
Mikayla Maki
9e9d8e3a7b
add mroe dbg
2023-06-07 16:50:15 -07:00
Mikayla Maki
9d58c4526d
Fix warning
2023-06-07 16:45:36 -07:00
Mikayla Maki
5f143f689f
Attempting to debug on ci...
2023-06-07 16:44:13 -07:00
Mikayla Maki
572d40381a
Add track caller
2023-06-07 16:39:10 -07:00
Mikayla Maki
2c5e83bf72
Fixed a bug where buffer saved clocks would desynchronize in rare execution paths
...
co-authored-by: Max <max@zed.dev>
2023-06-07 16:10:45 -07:00
Mikayla Maki
28ba27c9c5
Merge branch 'main' into stream-git-statuses
2023-06-07 14:12:58 -07:00
Mikayla Maki
34e134fafb
Fix several randomized test failures with the new git status implementation
2023-06-07 14:10:17 -07:00
Mikayla Maki
a2d58068a7
Improve test generation and implement status propogation
...
co-authored-by: max <max@zed.dev>
2023-06-05 17:30:12 -07:00
Mikayla Maki
9a13a2ba2c
WIP: Add status bubbling to project panel
2023-06-05 12:53:04 -07:00
Mikayla Maki
e56fcd69b5
Track git status changes with the changed_paths system
2023-06-05 11:50:23 -07:00
Joseph Lyons
7c60f636d5
Fix typos
2023-06-02 22:02:19 -04:00
Mikayla Maki
ca077408d7
Fix bug where git statuses would not be initialized on startup
...
move git status queries to be on entry creation
co-authored-by: max <max@zed.dev>
2023-06-02 17:38:39 -07:00
Mikayla Maki
2f97c7a4f1
Remove stale comments
...
Implement status bubbling query with sum tree traversals
co-authored-by: max <max@zed.dev>
2023-06-02 16:41:01 -07:00
Mikayla Maki
e377459948
Remove stateful bubbling
...
co-authored-by: max <max@zed.dev>
2023-06-02 15:07:49 -07:00
Mikayla Maki
99a0e11e70
Abandoning stateful bubbling approach
...
co-authored-by: max <max@zed.dev>
2023-06-02 14:51:40 -07:00
Mikayla Maki
3768851799
WIP: Git statuses
2023-06-01 23:27:49 -07:00
Mikayla Maki
5e43dcaab8
WIP: Add stateful status bubbling to worktree
2023-06-01 16:51:34 -07:00
Max Brunsfeld
03a351fb26
Make language settings accessors take an arc dyn file
2023-05-31 14:57:04 -07:00
Max Brunsfeld
a2ab7c9eb9
Respect project-specific settings for copilot
2023-05-31 14:42:15 -07:00
Mikayla Maki
4717ce1da3
WIP: Move statuses to entries
...
co-authored-by: julia <julia@zed.dev>
2023-05-31 12:55:31 -07:00
Mikayla Maki
22e4086658
WIP: Move statuses to be on their associated file entries in worktree
...
co-authored-by: Julia <julia@zed.dev>
2023-05-31 11:03:11 -07:00
Max Brunsfeld
89446c7fd4
Start work on respecting project-specific settings
2023-05-29 14:25:49 -07:00
Max Brunsfeld
1f42bfc1bd
Include repositories with workdir changes in worktree UpdatedGitRepsositories event
2023-05-26 15:47:37 -07:00
Max Brunsfeld
02b95ef320
Derive worktree update messages from existing change events
2023-05-26 15:47:37 -07:00
Max Brunsfeld
6628c4df28
Store worktree changes in a sorted arc slice, not a HashMap
...
We don't need to look-up change types by an arbitrary key, but we
do need to iterate it. It would also be useful to be able to
cheaply clone the changes, to use them in a background task.
2023-05-26 09:24:15 -07:00
Max Brunsfeld
59bfd40679
Make stricter assertions about change events in random worktree test
2023-05-26 09:24:15 -07:00
Max Brunsfeld
f890eefdef
Include paths loaded during initial scan in worktree UpdatedEntries event
2023-05-26 09:24:15 -07:00
Julia
cede296b04
Project level git diff recalc handling
...
This avoids an issue where in a many-buffer multi-buffer, each modified
buffer could complete its recalc independently, causing a cascade of
repeated notifies
Now all recalcs started at the same time must complete before
A: Starting another recalc pass
B: The master notify occurring
Each buffer can still show its new diff if something else triggers it
to notify earlier, this is desirable and does not have the same negative
effects as the notify cascade as those re-layouts would need to happen
anyway
Co-Authored-By: Max Brunsfeld <max@zed.dev>
2023-05-25 14:10:27 -04:00
Mikayla Maki
51d94f532b
Load diff base for buffers that are opening but not yet opened when repositories are discovered
2023-05-22 18:26:33 -07:00
Mikayla Maki
4c9d24da7c
Only fire update diff base when the dot repo is scanned ( #2510 )
...
This PR fixes a bug in the firing of the UpdatedRepositories event which
caused it to flood collaboration with new messages on every file save.
Release Notes:
* Fixed a bug in repository detection that caused it to fire
over-eagerly (preview only)
2023-05-22 14:11:19 -07:00
Mikayla Maki
96224fa7e8
Only fire update diff base when the dot repo is scanned
2023-05-22 13:57:07 -07:00