ZIm/crates
Cole Miller bc1c0a2297
Separate repository state synchronization from worktree synchronization (#27140)
This PR updates our DB schemas and wire protocol to separate the
synchronization of git statuses and other repository state from the
synchronization of worktrees. This paves the way for moving the code
that executes git status updates out of the `worktree` crate and onto
the new `GitStore`. That end goal is motivated by two (related) points:

- Disentangling git status updates from the worktree's
`BackgroundScanner` will allow us to implement a simpler concurrency
story for those updates, hopefully fixing some known but elusive bugs
(upstream state not updating after push; statuses getting out of sync in
remote projects).
- By moving git repository state to the project-scoped `GitStore`, we
can get rid of the duplication that currently happens when two worktrees
are associated with the same git repository.

Co-authored-by: Max <max@zed.dev>

Release Notes:

- N/A

---------

Co-authored-by: Max <max@zed.dev>
Co-authored-by: Max Brunsfeld <maxbrunsfeld@gmail.com>
2025-03-20 18:07:03 -04:00
..
activity_indicator Move "async move" a few characters to the left in cx.spawn() (#26758) 2025-03-19 02:09:02 +00:00
anthropic Track cumulative token usage in assistant2 when using anthropic API (#26738) 2025-03-13 22:56:16 +00:00
askpass Move "async move" a few characters to the left in cx.spawn() (#26758) 2025-03-19 02:09:02 +00:00
assets Eliminate GPUI View, ViewContext, and WindowContext types (#22632) 2025-01-26 03:02:45 +00:00
assistant Move "async move" a few characters to the left in cx.spawn() (#26758) 2025-03-19 02:09:02 +00:00
assistant2 assistant2: Watch settings for changes to profiles (#27219) 2025-03-20 21:12:58 +00:00
assistant_context_editor assistant2: Add ability to start and stop context servers (#27080) 2025-03-19 15:37:48 +00:00
assistant_eval Display what the tool is doing (#27120) 2025-03-20 09:16:39 -04:00
assistant_settings assistant2: Allow creating agent profiles via settings (#27216) 2025-03-20 20:30:07 +00:00
assistant_slash_command Allow too many arguments (#26375) 2025-03-10 13:38:30 -06:00
assistant_slash_commands Move "async move" a few characters to the left in cx.spawn() (#26758) 2025-03-19 02:09:02 +00:00
assistant_tool Display what the tool is doing (#27120) 2025-03-20 09:16:39 -04:00
assistant_tools assistant2: Return no-edits response to architect model (#27200) 2025-03-20 14:29:34 -03:00
audio Eliminate GPUI View, ViewContext, and WindowContext types (#22632) 2025-01-26 03:02:45 +00:00
auto_update Move "async move" a few characters to the left in cx.spawn() (#26758) 2025-03-19 02:09:02 +00:00
auto_update_ui Move "async move" a few characters to the left in cx.spawn() (#26758) 2025-03-19 02:09:02 +00:00
aws_http_client Add aws_http_client and bedrock crates (#25490) 2025-02-24 20:28:20 +00:00
bedrock bedrock: Add Claude 3.7 Sonnet (#25583) 2025-02-25 13:52:42 -05:00
breadcrumbs Add user-visible output for remote operations (#25849) 2025-03-03 09:20:15 +00:00
buffer_diff Move "async move" a few characters to the left in cx.spawn() (#26758) 2025-03-19 02:09:02 +00:00
call Separate repository state synchronization from worktree synchronization (#27140) 2025-03-20 18:07:03 -04:00
channel Move "async move" a few characters to the left in cx.spawn() (#26758) 2025-03-19 02:09:02 +00:00
cli cli: Support opening anonymous file descriptors via the cli on MacOS and Linux (#26744) 2025-03-13 20:53:47 -05:00
client Move "async move" a few characters to the left in cx.spawn() (#26758) 2025-03-19 02:09:02 +00:00
clock chore: Use workspace fields for edition and publish (#23291) 2025-01-17 17:39:22 +01:00
collab Separate repository state synchronization from worktree synchronization (#27140) 2025-03-20 18:07:03 -04:00
collab_ui Move "async move" a few characters to the left in cx.spawn() (#26758) 2025-03-19 02:09:02 +00:00
collections chore: Use workspace fields for edition and publish (#23291) 2025-01-17 17:39:22 +01:00
command_palette Move "async move" a few characters to the left in cx.spawn() (#26758) 2025-03-19 02:09:02 +00:00
command_palette_hooks vim: :set support (#24209) 2025-02-11 04:55:40 +00:00
component component_preview: Add component pages (#26284) 2025-03-07 18:56:17 +00:00
component_preview Move "async move" a few characters to the left in cx.spawn() (#26758) 2025-03-19 02:09:02 +00:00
context_server context_server: Interpret context server command paths relative to the extension's work dir (#27201) 2025-03-20 16:36:40 +00:00
context_server_settings Eliminate GPUI View, ViewContext, and WindowContext types (#22632) 2025-01-26 03:02:45 +00:00
copilot Move "async move" a few characters to the left in cx.spawn() (#26758) 2025-03-19 02:09:02 +00:00
credentials_provider Use the development credentials provider in development by default (#25273) 2025-02-20 19:07:16 +00:00
dap Move "async move" a few characters to the left in cx.spawn() (#26758) 2025-03-19 02:09:02 +00:00
dap_adapters Debugger implementation (#13433) 2025-03-18 12:55:25 -04:00
db cx.background_executor().spawn(...) -> cx.background_spawn(...) (#25103) 2025-02-18 20:30:33 +00:00
debugger_tools Move "async move" a few characters to the left in cx.spawn() (#26758) 2025-03-19 02:09:02 +00:00
debugger_ui Reuse values from last debug panel inert state if they exist (#27211) 2025-03-20 18:53:11 +00:00
deepseek Add DeepSeek support (#23551) 2025-01-27 13:40:59 -05:00
diagnostics Move "async move" a few characters to the left in cx.spawn() (#26758) 2025-03-19 02:09:02 +00:00
docs_preprocessor Eliminate GPUI View, ViewContext, and WindowContext types (#22632) 2025-01-26 03:02:45 +00:00
editor Add a way to copy with the selections trimmed (#27206) 2025-03-20 19:58:51 +00:00
evals Move "async move" a few characters to the left in cx.spawn() (#26758) 2025-03-19 02:09:02 +00:00
extension Debugger implementation (#13433) 2025-03-18 12:55:25 -04:00
extension_api zed_extension_api: Release v0.3.0 (#26495) 2025-03-11 22:54:44 +00:00
extension_cli extension_cli: Make use of scrollbar_thumb.background a hard error (#25932) 2025-03-03 15:55:15 +00:00
extension_host context_server: Interpret context server command paths relative to the extension's work dir (#27201) 2025-03-20 16:36:40 +00:00
extensions_ui extensions_ui: Add ability to open the extensions view with a pre-selected filter (#27093) 2025-03-19 17:26:46 +00:00
feature_flags feature_flags: Do not enable feature flags by default in dev builds (#27065) 2025-03-19 12:20:26 +00:00
feedback Pre-fill body of email with system specs (#27210) 2025-03-20 18:09:10 +00:00
file_finder workspace::Open: Fix trapped cursor/selection on update (#25402) 2025-03-18 22:19:11 -06:00
file_icons Allow icon themes to provide their own file associations (#24926) 2025-02-15 00:35:13 +00:00
fs Avoid polluting branch list and restore parent commit when using checkpoints (#27191) 2025-03-20 15:00:23 +00:00
fsevent Deflake fs::test_event_stream_simple (#24013) 2025-01-30 23:53:36 -07:00
fuzzy Allow too many arguments (#26375) 2025-03-10 13:38:30 -06:00
git Avoid polluting branch list and restore parent commit when using checkpoints (#27191) 2025-03-20 15:00:23 +00:00
git_hosting_providers git_hosting_providers: Allow configuring additional hosting providers via settings (#26879) 2025-03-17 15:39:52 +00:00
git_ui Make FakeGitRepository behave more like a real git repository (#26961) 2025-03-19 16:04:27 +00:00
go_to_line Move "async move" a few characters to the left in cx.spawn() (#26758) 2025-03-19 02:09:02 +00:00
google_ai Partially fix assistant onboarding (#25313) 2025-02-24 07:29:55 +00:00
gpui gpui: Make App::get_name return an Option (#27209) 2025-03-20 17:56:27 +00:00
gpui_macros Add seed argument to #[gpui::test] attribute macro (#26764) 2025-03-14 13:40:02 -03:00
gpui_tokio Make the gpui_tokio crate generic over the context it spawns (#23995) 2025-01-31 02:00:55 +00:00
html_to_markdown Eliminate GPUI View, ViewContext, and WindowContext types (#22632) 2025-01-26 03:02:45 +00:00
http_client chore: Extract http-client-tls crate (#26895) 2025-03-17 02:36:37 +00:00
http_client_tls chore: Extract http-client-tls crate (#26895) 2025-03-17 02:36:37 +00:00
image_viewer Move "async move" a few characters to the left in cx.spawn() (#26758) 2025-03-19 02:09:02 +00:00
indexed_docs Eliminate GPUI View, ViewContext, and WindowContext types (#22632) 2025-01-26 03:02:45 +00:00
inline_completion edit predictions: Show user if current project is open source (#24587) 2025-02-10 22:28:56 -03:00
inline_completion_button Move "async move" a few characters to the left in cx.spawn() (#26758) 2025-03-19 02:09:02 +00:00
install_cli Fix missed renames in #22632 (#23688) 2025-01-26 23:37:34 +00:00
journal Move "async move" a few characters to the left in cx.spawn() (#26758) 2025-03-19 02:09:02 +00:00
language Add completion_query_characters in language (#27175) 2025-03-20 16:45:35 +05:30
language_extension Debugger implementation (#13433) 2025-03-18 12:55:25 -04:00
language_model Track cumulative token usage in assistant2 when using anthropic API (#26738) 2025-03-13 22:56:16 +00:00
language_model_selector assistant: Dismiss model picker upon selection (#27162) 2025-03-20 10:22:49 -03:00
language_models Move "async move" a few characters to the left in cx.spawn() (#26758) 2025-03-19 02:09:02 +00:00
language_selector Move "async move" a few characters to the left in cx.spawn() (#26758) 2025-03-19 02:09:02 +00:00
language_tools language_tools: Fix buffer search keeping focusing when pressing enter in vim mode (#26266) 2025-03-19 04:25:29 +00:00
languages When determining Python task context, do not consider worktree-less files as an error (#27183) 2025-03-20 12:44:07 +00:00
livekit_api Change license of crates/livekit_api from AGPL to GPL (#25206) 2025-02-19 23:32:51 +00:00
livekit_client Move "async move" a few characters to the left in cx.spawn() (#26758) 2025-03-19 02:09:02 +00:00
livekit_client_macos Move "async move" a few characters to the left in cx.spawn() (#26758) 2025-03-19 02:09:02 +00:00
lmstudio lmstudio: Support missing quantization in model metadata (#24054) 2025-01-31 22:28:11 +00:00
lsp Move "async move" a few characters to the left in cx.spawn() (#26758) 2025-03-19 02:09:02 +00:00
markdown Move "async move" a few characters to the left in cx.spawn() (#26758) 2025-03-19 02:09:02 +00:00
markdown_preview Move "async move" a few characters to the left in cx.spawn() (#26758) 2025-03-19 02:09:02 +00:00
media chore: Use workspace fields for edition and publish (#23291) 2025-01-17 17:39:22 +01:00
menu keymap: Update Prev to Previous for consistency (#25909) 2025-03-03 17:44:49 +05:30
migrator migrator: Fix case where users see migration banner despite no diff changes (#26982) 2025-03-18 19:24:24 +05:30
mistral assistant: Add Mistral support (#24879) 2025-02-14 13:07:41 -05:00
multi_buffer Move "async move" a few characters to the left in cx.spawn() (#26758) 2025-03-19 02:09:02 +00:00
node_runtime node_runtime: Use user/global configuration when using system node installation (#26209) 2025-03-06 12:50:42 +01:00
notifications Move "async move" a few characters to the left in cx.spawn() (#26758) 2025-03-19 02:09:02 +00:00
ollama Eliminate GPUI View, ViewContext, and WindowContext types (#22632) 2025-01-26 03:02:45 +00:00
open_ai Update Assistant context limits (#25087) 2025-02-19 11:06:20 -05:00
outline Fix editor's outline view confirm not working before any queries have (#26761) 2025-03-14 07:19:43 +00:00
outline_panel Move "async move" a few characters to the left in cx.spawn() (#26758) 2025-03-19 02:09:02 +00:00
panel Fix syntax highlighting of git commit messages (#26988) 2025-03-18 18:18:56 +00:00
paths Notify about broken task file contents (#27185) 2025-03-20 13:06:10 +00:00
picker Move "async move" a few characters to the left in cx.spawn() (#26758) 2025-03-19 02:09:02 +00:00
prettier Move "async move" a few characters to the left in cx.spawn() (#26758) 2025-03-19 02:09:02 +00:00
project Separate repository state synchronization from worktree synchronization (#27140) 2025-03-20 18:07:03 -04:00
project_panel Make FakeGitRepository behave more like a real git repository (#26961) 2025-03-19 16:04:27 +00:00
project_symbols Move "async move" a few characters to the left in cx.spawn() (#26758) 2025-03-19 02:09:02 +00:00
prompt_library Move "async move" a few characters to the left in cx.spawn() (#26758) 2025-03-19 02:09:02 +00:00
prompt_store Initial support for AI assistant rules files (#27168) 2025-03-20 08:30:04 +00:00
proto Separate repository state synchronization from worktree synchronization (#27140) 2025-03-20 18:07:03 -04:00
recent_projects Move "async move" a few characters to the left in cx.spawn() (#26758) 2025-03-19 02:09:02 +00:00
refineable windows: Fix tests on Windows (#22616) 2025-02-05 14:30:09 +00:00
release_channel windows: Missing commit of #25412 (#25732) 2025-02-27 08:00:42 +00:00
remote Move "async move" a few characters to the left in cx.spawn() (#26758) 2025-03-19 02:09:02 +00:00
remote_server Separate repository state synchronization from worktree synchronization (#27140) 2025-03-20 18:07:03 -04:00
repl Move "async move" a few characters to the left in cx.spawn() (#26758) 2025-03-19 02:09:02 +00:00
reqwest_client Move "async move" a few characters to the left in cx.spawn() (#26758) 2025-03-19 02:09:02 +00:00
rich_text Allow too many arguments (#26375) 2025-03-10 13:38:30 -06:00
rope Add support for auto-closing of JSX tags (#25681) 2025-03-06 08:36:10 -06:00
rpc extensions_ui: Add ability to filter extensions by category (#27005) 2025-03-18 17:59:58 +00:00
schema_generator Improve schema_generator CLI (#25898) 2025-03-06 04:59:57 +00:00
scripting_tool Move "async move" a few characters to the left in cx.spawn() (#26758) 2025-03-19 02:09:02 +00:00
search Move "async move" a few characters to the left in cx.spawn() (#26758) 2025-03-19 02:09:02 +00:00
semantic_index Move "async move" a few characters to the left in cx.spawn() (#26758) 2025-03-19 02:09:02 +00:00
semantic_version chore: Use workspace fields for edition and publish (#23291) 2025-01-17 17:39:22 +01:00
session Move "async move" a few characters to the left in cx.spawn() (#26758) 2025-03-19 02:09:02 +00:00
settings Notify about broken task file contents (#27185) 2025-03-20 13:06:10 +00:00
settings_ui Fix UI font size changes not applying (#25307) 2025-02-21 06:24:02 -03:00
snippet Eliminate GPUI View, ViewContext, and WindowContext types (#22632) 2025-01-26 03:02:45 +00:00
snippet_provider Move "async move" a few characters to the left in cx.spawn() (#26758) 2025-03-19 02:09:02 +00:00
snippets_ui Move "async move" a few characters to the left in cx.spawn() (#26758) 2025-03-19 02:09:02 +00:00
sqlez Debugger implementation (#13433) 2025-03-18 12:55:25 -04:00
sqlez_macros windows: Fix tests on Windows (#22616) 2025-02-05 14:30:09 +00:00
story gpui: Rename rounded_md to rounded_sm (#26228) 2025-03-06 17:57:31 +00:00
storybook Move "async move" a few characters to the left in cx.spawn() (#26758) 2025-03-19 02:09:02 +00:00
streaming_diff chore: Use workspace fields for edition and publish (#23291) 2025-01-17 17:39:22 +01:00
sum_tree git: Fix race condition when [un]staging hunks in quick succession (#26422) 2025-03-13 10:41:04 -07:00
supermaven Move "async move" a few characters to the left in cx.spawn() (#26758) 2025-03-19 02:09:02 +00:00
supermaven_api Eliminate GPUI View, ViewContext, and WindowContext types (#22632) 2025-01-26 03:02:45 +00:00
tab_switcher git_ui: Branch picker improvements (#26287) 2025-03-10 11:39:01 -04:00
task Debugger implementation (#13433) 2025-03-18 12:55:25 -04:00
tasks_ui Move "async move" a few characters to the left in cx.spawn() (#26758) 2025-03-19 02:09:02 +00:00
telemetry Git telemetry (#26222) 2025-03-06 10:56:28 -07:00
telemetry_events Remove unused AssistantThreadFeedback event (#27021) 2025-03-18 20:39:54 +00:00
terminal Move "async move" a few characters to the left in cx.spawn() (#26758) 2025-03-19 02:09:02 +00:00
terminal_view Move "async move" a few characters to the left in cx.spawn() (#26758) 2025-03-19 02:09:02 +00:00
text Revert "Start tracking edits performed by the agent" (#27077) 2025-03-19 15:33:08 +01:00
theme theme: Add fallback colors for version_control.<variant> properties (#27104) 2025-03-19 18:48:35 +00:00
theme_extension theme: Don't log errors for missing themes until extensions have loaded (#25098) 2025-02-18 17:47:25 +00:00
theme_importer Add schema_generator for generating JSON schemas (#23991) 2025-01-31 01:22:10 +00:00
theme_selector extensions_ui: Add ability to open the extensions view with a pre-selected filter (#27093) 2025-03-19 17:26:46 +00:00
time_format Add an undo button to the git panel (#24593) 2025-02-12 15:57:08 -07:00
title_bar extensions_ui: Add ability to open the extensions view with a pre-selected filter (#27093) 2025-03-19 17:26:46 +00:00
toolchain_selector Move "async move" a few characters to the left in cx.spawn() (#26758) 2025-03-19 02:09:02 +00:00
ui Make getting keybinding for display more efficient (#27046) 2025-03-19 20:15:33 +00:00
ui_input Eliminate GPUI View, ViewContext, and WindowContext types (#22632) 2025-01-26 03:02:45 +00:00
ui_macros Add StatusToast & the ToastLayer (#26232) 2025-03-06 20:37:54 +00:00
ui_prompt Support built-in Zed prompts for all platforms (#26201) 2025-03-18 22:27:09 -06:00
util util: Include path to asset in panic message from asset_str (#27059) 2025-03-19 11:09:51 +00:00
util_macros Use line_endings macro for the edit tool tests (#26642) 2025-03-15 14:16:10 +08:00
vim vim: Fix space not handling non-ascii characters (#27053) 2025-03-19 07:28:50 -06:00
vim_mode_setting Eliminate GPUI View, ViewContext, and WindowContext types (#22632) 2025-01-26 03:02:45 +00:00
welcome extensions_ui: Add ability to open the extensions view with a pre-selected filter (#27093) 2025-03-19 17:26:46 +00:00
workspace Support built-in Zed prompts for all platforms (#26201) 2025-03-18 22:27:09 -06:00
worktree Separate repository state synchronization from worktree synchronization (#27140) 2025-03-20 18:07:03 -04:00
zed extensions_ui: Add ability to open the extensions view with a pre-selected filter (#27093) 2025-03-19 17:26:46 +00:00
zed_actions extensions_ui: Add ability to open the extensions view with a pre-selected filter (#27093) 2025-03-19 17:26:46 +00:00
zeta Move "async move" a few characters to the left in cx.spawn() (#26758) 2025-03-19 02:09:02 +00:00