# workspace: Treat remote roots as directories \(\#54733\) · gitcafe/zed

[View on GitCafe](https://git.cafe/gitcafe/zed/commit/6a7b2bc1e2cd45a7936935404136922ee472d80e)

Repository: [gitcafe/zed](https://git.cafe/gitcafe/zed)

Visibility: public

Requested revision: 6a7b2bc1e2cd45a7936935404136922ee472d80e

Requested commit: 6a7b2bc1e2cd45a7936935404136922ee472d80e

Commit: 6a7b2bc1e2cd45a7936935404136922ee472d80e

Tree: 4f70b61445d593f2360d231c8392081bffeb1f11

Author: Jake Nelson

Committer: GitHub

## Message

```
workspace: Treat remote roots as directories (#54733)

## Summary

- Add a regression test covering reopening an already-open remote
workspace root inside the reused workspace path
- Use the resolved worktree entry instead of the local filesystem when
`Workspace::open_paths` decides whether a reused path is a directory
- This fixes the follow-on case where reopening an already-open SSH
workspace root could show `Error: opening project path ...` because the
remote root was being treated like a local file open

I kept this fix in `Workspace::open_paths` rather than adding another
remote-specific branch higher up, because the bug was specifically in
the generic reused-workspace directory check.

## Testing

- `cargo test -p recent_projects
test_reopen_existing_remote_root_treats_root_as_directory --
--nocapture`
- `cargo test -p recent_projects
test_reuse_existing_remote_workspace_window_with_tilde_path --
--nocapture`
- `cargo test -p recent_projects
test_reuse_existing_remote_workspace_window -- --nocapture`

Self-Review Checklist:

- [x] I've reviewed my own diff for quality, security, and reliability
- [x] Unsafe blocks (if any) have justifying comments
- [x] Tests cover the new/changed behaviour
- [x] Performance impact has been considered and is acceptable

Related to #30829

Release Notes:

- Fixed reopening an already-open SSH workspace root showing an `opening
project path` error instead of treating the root as a directory
```

## Parents

- [5f038c2a3a29d785b151a7d9e68feabf221c2c48](https://git.cafe/gitcafe/zed/commit/5f038c2a3a29d785b151a7d9e68feabf221c2c48?format=markdown)

[Source at this commit](https://git.cafe/gitcafe/zed/tree/6a7b2bc1e2cd45a7936935404136922ee472d80e?format=markdown)
