zed/crates
Thorsten Ball bd03dea296
git: Add support for opening git worktrees (#20164)
This adds support for [git
worktrees](https://matklad.github.io/2024/07/25/git-worktrees.html). It
fixes the errors that show up (git blame not working) and actually adds
support for detecting git changes in a `.git` folder that's outside of
our path (and not even in the ancestor chain of our root path).

(While working on this we discovered that our `.gitignore` handling is
not 100% correct. For example: we do stop processing `.gitignore` files
once we found a `.git` repository and don't go further up the ancestors,
which is correct, but then we also don't take into account the
`excludesFile` that a user might have configured, see:
https://git-scm.com/docs/gitignore)


Closes https://github.com/zed-industries/zed/issues/19842
Closes https://github.com/zed-industries/zed/issues/4670

Release Notes:

- Added support for git worktrees. Zed can now open git worktrees and
the git status in them is correctly handled.

---------

Co-authored-by: Antonio <antonio@zed.dev>
Co-authored-by: Bennet <bennet@zed.dev>
2024-11-06 09:43:39 +01:00
..
activity_indicator Rename extension crate to extension_host (#20081) 2024-11-01 12:53:02 -04:00
anthropic Switch to Anthropic -latest tags (#19615) 2024-10-23 15:13:52 -04:00
assets
assistant vim: Fix search in the Assistant (#20258) 2024-11-05 15:08:01 -07:00
assistant_slash_command Adjust design of the slash command picker (#19973) 2024-10-30 19:42:42 -03:00
assistant_tool
audio
auto_update Rebuild SSH installation (#20220) 2024-11-05 13:37:54 -07:00
breadcrumbs
call Add new extension crate (#20089) 2024-11-01 13:20:30 -04:00
channel Remove hosted projects (#19754) 2024-10-27 19:44:21 -07:00
cli Remove dev servers (#19638) 2024-10-24 12:14:03 -06:00
client Don't write temp files for telemetry logs (#20209) 2024-11-05 14:05:51 -07:00
clock
collab Migration to remove dev servers (#19639) 2024-10-30 11:55:55 -06:00
collab_ui Fix mouse clicks on remote-open-folder UI (#19851) 2024-10-28 12:55:55 -07:00
collections
command_palette
command_palette_hooks
context_servers context_servers: Support tools (#19548) 2024-10-28 10:37:58 -04:00
copilot copilot: Add support for new models (#19968) 2024-11-04 10:55:20 +01:00
db
dev_server_projects/src Remove dev servers (#19638) 2024-10-24 12:14:03 -06:00
diagnostics diagnostics: Improve performance with large # of diagnostics (#20189) 2024-11-04 12:16:02 -07:00
docs_preprocessor
editor vim: Fix paragraphs with softwrap (#20259) 2024-11-05 15:32:44 -07:00
evals Restore HTTP client transition, but use reqwest everywhere (#19055) 2024-10-11 14:58:58 -07:00
extension Disable sccache during dev extension builds (#20270) 2024-11-06 02:01:56 +02:00
extension_api extension: Add support for labelDetails for LSP completions (#20144) 2024-11-04 11:02:19 -05:00
extension_cli Add new extension crate (#20089) 2024-11-01 13:20:30 -04:00
extension_host extension: Add support for labelDetails for LSP completions (#20144) 2024-11-04 11:02:19 -05:00
extensions_ui Rename extension crate to extension_host (#20081) 2024-11-01 12:53:02 -04:00
feature_flags Initial Notebook UI structure (#19756) 2024-10-29 11:30:07 -07:00
feedback ci: Update issue templates. Rename defect to bug and improve log formatting (#20246) 2024-11-05 12:07:17 -05:00
file_finder Add more context to the save new file path picker (#19863) 2024-10-28 17:21:41 -07:00
file_icons
fs git: Add support for opening git worktrees (#20164) 2024-11-06 09:43:39 +01:00
fsevent
fuzzy
git git: Add support for opening git worktrees (#20164) 2024-11-06 09:43:39 +01:00
git_hosting_providers git_hosting_providers: Fix support for GitLab remotes containing subgroups (#19962) 2024-10-30 11:16:44 -04:00
go_to_line Improve project search performance (#20211) 2024-11-05 03:49:37 +02:00
google_ai assistant: Fix Gemini 1.5 Pro throwing "missing field 'index' at line N column M" (#20200) 2024-11-04 17:01:08 -05:00
gpui Unbind app menu actions (#20268) 2024-11-05 16:18:41 -08:00
gpui_macros
html_to_markdown
http_client Add settings to remote servers, use XDG paths on remote, and enable node LSPs (#19176) 2024-10-15 23:32:44 -07:00
image_viewer image viewer: Show path in breadcrumbs (#20155) 2024-11-04 10:18:21 +01:00
indexed_docs
inline_completion_button Support .editorconfig (#19455) 2024-10-21 13:05:30 +03:00
install_cli
journal
language Fix toolchain detection for worktree-local paths (#20229) 2024-11-05 14:25:18 +01:00
language_model copilot: Add support for new models (#19968) 2024-11-04 10:55:20 +01:00
language_selector
language_tools Add KeyContextView (#19872) 2024-10-30 11:26:54 -06:00
languages Fix toolchain detection for worktree-local paths (#20229) 2024-11-05 14:25:18 +01:00
live_kit_client
live_kit_server Restore HTTP client transition, but use reqwest everywhere (#19055) 2024-10-11 14:58:58 -07:00
lsp Fix a few Windows tests (#19773) 2024-10-26 03:32:22 +03:00
markdown Fix clang popovers (#20090) 2024-11-01 13:28:34 -06:00
markdown_preview markdown preview: Refresh preview when file is changed outside of the editor (#20175) 2024-11-04 17:23:32 +01:00
media
menu
multi_buffer Expand selections to Replace block boundaries (#20092) 2024-11-01 16:10:19 -04:00
node_runtime typescript: Improve installation checks for vtsls (#20197) 2024-11-04 16:00:51 -05:00
notifications
ollama
open_ai
outline Extract outline rendering to outline crate (#20179) 2024-11-04 11:54:37 -05:00
outline_panel Fix outline panel selection races (#20263) 2024-11-06 00:54:15 +02:00
paths Support .editorconfig (#19455) 2024-10-21 13:05:30 +03:00
picker Add more context to the save new file path picker (#19863) 2024-10-28 17:21:41 -07:00
prettier Log prettier errors on failures (#19951) 2024-10-30 14:49:47 +02:00
project Fix toolchain detection for worktree-local paths (#20229) 2024-11-05 14:25:18 +01:00
project_panel Fix project panel losing focus after file creation attempt (#20273) 2024-11-06 09:59:06 +02:00
project_symbols
proto proto: Remove unused UpdateUserSettings message (#20005) 2024-10-31 09:36:18 +01:00
quick_action_bar
recent_projects Remoting: Fix opening multiple folders on one server (#20281) 2024-11-05 22:16:38 -07:00
refineable
release_channel
remote Remoting: Fix opening multiple folders on one server (#20281) 2024-11-05 22:16:38 -07:00
remote_server Rebuild SSH installation (#20220) 2024-11-05 13:37:54 -07:00
repl Clean up notebook item creation in project (#20030) 2024-10-31 07:01:46 -07:00
reqwest_client reqwest_client: Fix socks proxy settings (#19123) 2024-10-18 09:57:00 -07:00
rich_text
rope Speed up point translation in the Rope (#19913) 2024-10-30 10:59:03 +01:00
rpc Add support for git branches on remote projects (#19755) 2024-10-27 15:50:54 -07:00
search git: Add support for opening git worktrees (#20164) 2024-11-06 09:43:39 +01:00
semantic_index semantic_index: Disable embeddings index for non-staff (#19618) 2024-10-23 12:34:51 -04:00
semantic_version
session
settings settings: Include null in the type for optional settings (#20192) 2024-11-04 14:25:44 -05:00
settings_ui Revert "theme: Turn ThemeRegistry into a trait (#20076)" (#20094) 2024-11-01 15:34:20 -04:00
snippet
snippet_provider
snippets_ui
sqlez Fix a rare crash on startup (#19922) 2024-10-29 12:30:55 -07:00
sqlez_macros
story
storybook Revert "theme: Turn ThemeRegistry into a trait (#20076)" (#20094) 2024-11-01 15:34:20 -04:00
sum_tree Speed up point translation in the Rope (#19913) 2024-10-30 10:59:03 +01:00
supermaven Cap the size of the Supermaven states buffer (#19246) 2024-10-23 10:36:14 +03:00
supermaven_api
tab_switcher
task tasks: Add editor: Spawn Nearest Task action (#19901) 2024-10-31 14:25:57 +01:00
tasks_ui Add more context to the save new file path picker (#19863) 2024-10-28 17:21:41 -07:00
telemetry_events assistant: Add health telemetry (#19928) 2024-10-31 16:21:26 -07:00
terminal ssh remoting: Fix wrong working directory for SSH terminals (#19672) 2024-10-24 13:52:26 +02:00
terminal_view terminal: Do not show multibuffer hint when in centered pane (#20137) 2024-11-04 09:19:48 +01:00
text Simplify line normalization (#19712) 2024-10-31 22:24:24 -06:00
theme Revert "theme: Turn ThemeRegistry into a trait (#20076)" (#20094) 2024-11-01 15:34:20 -04:00
theme_importer
theme_selector Revert "theme: Turn ThemeRegistry into a trait (#20076)" (#20094) 2024-11-01 15:34:20 -04:00
time_format
title_bar ssh remoting: Hide share button while connecting to project (#19885) 2024-10-29 12:13:21 +01:00
toolchain_selector Add language toolchains (#19576) 2024-10-28 15:34:03 +01:00
ui ui: Fix scrollbar content size calculation for non-uniform lists with single element (#20237) 2024-11-05 14:32:13 +01:00
ui_input
ui_macros
util Add support for git branches on remote projects (#19755) 2024-10-27 15:50:54 -07:00
vcs_menu chore: Update BranchListDelegate to use WeakView<Workspace> (#20157) 2024-11-04 12:17:11 +02:00
vim vim: Fix readonly mode (#20264) 2024-11-05 21:45:45 -07:00
welcome Fix mouse clicks on remote-open-folder UI (#19851) 2024-10-28 12:55:55 -07:00
workspace Re-entrant SendKeystrokes (#20277) 2024-11-05 21:18:16 -07:00
worktree git: Add support for opening git worktrees (#20164) 2024-11-06 09:43:39 +01:00
zed git: Add support for opening git worktrees (#20164) 2024-11-06 09:43:39 +01:00
zed_actions Add KeyContextView (#19872) 2024-10-30 11:26:54 -06:00