Dino
92c03633c7
fs: Avoid resolving symlinks when trashing ( #58339 )
...
Use `std::path::absolute` instead of `RealFs::canonicalize` to make the
path absolute in `RealFs::trash` as `canonicalize` also resolves
symlinks, so trashing a symlink moved its target to the trash and left
the link dangling.
Self-Review Checklist:
- [x] I've reviewed my own diff for quality, security, and reliability
- [x] Unsafe blocks (if any) have justifying comments
- [x] The content is consistent with the [UI/UX
checklist](https://github.com/zed-industries/zed/blob/main/CONTRIBUTING.md#uiux-checklist )
- [x] Tests cover the new/changed behavior
- Not applicable as we don't have a good infrastructure for testing
`RealFs` changes without hitting the machine's actual filesystem and
testing this on `FakeFs` implementation wouldn't prevent a future
regression, unfortunately.
- [x] Performance impact has been considered and is acceptable
Closes #54900
Release Notes:
- Fixed trashing of symlinks in project panel to actually trash the link
and not its target.
2026-06-02 16:40:34 +00:00
..
2026-06-02 15:30:37 +00:00
2026-06-01 04:40:13 +00:00
2026-05-27 10:31:57 +00:00
2026-05-15 12:01:31 +00:00
2026-06-02 15:30:37 +00:00
2026-06-02 15:30:37 +00:00
2026-06-02 15:30:37 +00:00
2026-06-01 16:45:03 +00:00
2026-06-02 15:30:37 +00:00
2026-05-29 07:06:57 +00:00
2026-06-02 13:29:23 +00:00
2026-04-23 23:47:30 +00:00
2026-06-02 15:49:57 +00:00
2026-05-27 10:31:53 +00:00
2026-05-01 22:33:54 +00:00
2026-05-26 20:49:22 +00:00
2026-06-02 13:29:23 +00:00
2026-06-01 04:40:13 +00:00
2026-05-27 10:31:53 +00:00
2026-05-31 18:32:46 +00:00
2026-05-29 15:58:02 +00:00
2026-05-11 15:53:20 +00:00
2026-05-27 16:39:19 +00:00
2026-02-25 08:12:04 +01:00
2026-05-18 14:49:40 +00:00
2026-06-01 20:18:48 +00:00
2026-05-11 15:22:43 +00:00
2026-04-02 17:06:57 -03:00
2026-06-01 23:49:20 +00:00
2026-05-08 15:53:40 +00:00
2026-03-27 18:06:56 -07:00
2026-05-27 16:08:52 +00:00
2026-05-29 07:06:57 +00:00
2026-06-01 04:40:13 +00:00
2026-05-19 17:45:07 +00:00
2026-05-28 15:00:31 +00:00
2026-05-28 15:00:31 +00:00
2026-05-15 17:08:40 +00:00
2026-05-04 06:30:47 +00:00
2026-04-02 17:06:57 -03:00
2026-05-15 11:12:41 +00:00
2026-04-27 08:42:45 +00:00
2026-04-29 10:27:47 +00:00
2026-04-24 10:29:51 +00:00
2026-05-13 23:35:10 +00:00
2026-06-01 14:49:31 +00:00
2026-06-02 13:29:23 +00:00
2026-05-29 05:12:28 +00:00
2026-06-01 06:36:24 +00:00
2026-04-30 11:10:14 +00:00
2026-06-01 20:18:48 +00:00
2026-06-02 13:29:23 +00:00
2026-05-20 22:42:31 +00:00
2026-05-27 14:11:23 +00:00
2026-04-10 13:27:04 -04:00
2026-06-01 06:15:06 +00:00
2026-06-02 04:38:51 +00:00
2026-05-06 09:28:05 +00:00
2026-05-08 10:36:03 +00:00
2026-04-07 12:28:19 -03:00
2026-02-28 21:47:30 -05:00
2026-05-27 16:21:30 +00:00
2026-02-19 18:57:49 +01:00
2026-02-28 22:42:19 -05:00
2026-05-21 08:32:23 +00:00
2026-04-29 07:27:05 +00:00
2026-05-21 08:32:23 +00:00
2026-05-27 10:31:53 +00:00
2026-06-01 04:40:13 +00:00
2026-06-01 23:44:18 +00:00
2026-04-18 06:34:19 +00:00
2026-05-04 06:30:47 +00:00
2026-06-02 13:38:47 +00:00
2026-06-02 16:40:34 +00:00
2026-02-19 18:57:49 +01:00
2026-04-03 11:00:13 +00:00
2026-05-06 10:56:20 +00:00
2026-06-02 05:35:36 +00:00
2026-05-26 02:10:47 +00:00
2026-04-30 14:17:32 +00:00
2026-06-02 09:34:27 +00:00
2026-05-26 13:41:28 +00:00
2026-06-02 13:29:23 +00:00
2026-06-02 12:03:05 +00:00
2026-06-02 12:03:05 +00:00
2026-06-02 12:03:05 +00:00
2026-06-01 22:28:38 +00:00
2026-03-24 11:05:12 +00:00
2026-04-24 08:58:26 +00:00
2026-04-14 18:14:31 +02:00
2026-04-23 23:47:30 +00:00
2026-06-02 12:03:05 +00:00
2026-05-26 14:32:45 +00:00
2026-06-02 12:03:05 +00:00
2026-06-01 19:33:21 +00:00
2026-06-02 13:29:23 +00:00
2026-06-01 22:19:14 +00:00
2026-05-08 10:36:03 +00:00
2026-04-22 22:22:10 +00:00
2026-05-14 22:20:34 +00:00
2026-05-26 12:59:21 +00:00
2026-05-05 22:41:13 +00:00
2026-04-29 10:27:47 +00:00
2026-06-01 04:40:13 +00:00
2026-06-02 13:59:39 +00:00
2026-06-02 13:59:39 +00:00
2026-04-02 12:52:42 +00:00
2026-06-02 15:11:58 +00:00
2026-06-01 14:29:15 +00:00
2026-06-02 14:44:02 +00:00
2026-05-15 16:27:11 +00:00
2026-03-25 12:07:34 -06:00
2026-05-08 10:36:03 +00:00
2026-06-01 06:32:55 +00:00
2026-06-01 18:04:42 +00:00
2026-05-08 10:36:03 +00:00
2026-06-01 04:40:13 +00:00
2026-06-02 13:29:23 +00:00
2026-05-27 10:31:53 +00:00
2026-06-01 06:54:27 +00:00
2026-05-28 13:47:58 +00:00
2026-06-02 14:57:44 +00:00
2026-05-04 22:51:56 +00:00
2026-06-02 12:03:05 +00:00
2026-06-02 13:29:23 +00:00
2026-05-31 15:19:20 +00:00
2026-02-20 13:36:04 +00:00
2026-05-27 04:39:26 +00:00
2026-05-29 07:06:57 +00:00
2026-05-14 21:03:56 +00:00
2026-06-02 13:29:23 +00:00
2026-06-02 15:30:37 +00:00
2026-06-02 13:29:23 +00:00
2026-05-21 03:59:50 +00:00
2026-06-02 13:29:23 +00:00
2026-06-02 13:29:23 +00:00
2026-05-05 05:10:46 +00:00
2026-06-01 04:40:13 +00:00
2026-05-12 15:52:52 +00:00
2026-05-14 16:30:08 +00:00
2026-06-02 08:43:52 +00:00
2026-04-08 00:34:54 +00:00
2026-03-31 12:48:22 +03:00
2026-06-02 15:30:37 +00:00
2026-05-05 22:41:13 +00:00
2026-06-01 04:40:13 +00:00
2026-05-05 22:41:13 +00:00
2026-06-01 23:17:00 +00:00
2026-06-02 09:40:28 +00:00
2026-06-01 23:16:49 +00:00
2026-05-15 21:17:43 +00:00
2026-05-29 15:58:02 +00:00
2026-04-16 16:36:09 -07:00
2026-06-02 12:03:05 +00:00
2026-06-02 12:03:05 +00:00
2026-05-08 21:03:40 +00:00
2026-05-27 10:31:53 +00:00
2026-05-26 07:09:47 +00:00
2026-05-27 20:35:32 +00:00
2026-06-02 12:03:05 +00:00
2026-03-27 14:41:25 +01:00
2026-06-01 06:34:37 +00:00
2026-03-18 12:05:57 -07:00
2026-06-01 20:48:05 +00:00
2026-06-02 15:30:37 +00:00
2026-03-25 12:07:34 -06:00
2026-04-02 00:44:53 +00:00
2026-06-01 23:44:18 +00:00
2026-05-05 16:25:56 +00:00
2026-06-02 12:30:15 +00:00
2026-06-01 04:40:13 +00:00
2026-04-29 10:27:47 +00:00
2026-05-05 22:41:13 +00:00
2026-04-24 10:29:51 +00:00
2026-05-27 19:33:04 +00:00
2026-05-27 10:31:53 +00:00
2026-03-29 14:43:05 +00:00
2026-03-31 08:06:37 -06:00
2026-05-04 06:30:47 +00:00
2026-05-27 10:31:53 +00:00
2026-05-12 16:20:53 +00:00
2026-06-01 17:04:14 +00:00
2026-06-01 14:49:31 +00:00
2026-06-01 17:04:14 +00:00
2026-05-27 10:31:53 +00:00
2026-05-20 02:33:07 +00:00
2026-03-27 14:41:25 +01:00
2026-03-27 14:41:25 +01:00
2026-04-23 23:47:30 +00:00
2026-05-21 22:16:01 +00:00
2026-05-28 19:43:30 +00:00
2026-05-27 20:02:48 +00:00
2026-05-08 10:36:03 +00:00
2026-06-01 22:19:14 +00:00
2026-06-01 04:40:13 +00:00
2026-05-29 07:06:57 +00:00
2026-03-27 14:41:25 +01:00
2026-06-01 23:49:20 +00:00
2026-06-01 17:04:14 +00:00
2026-03-19 12:53:26 -04:00
2026-05-27 10:31:53 +00:00
2026-05-12 19:40:00 +00:00
2026-03-27 14:41:25 +01:00
2026-05-01 22:33:54 +00:00
2026-06-01 23:44:18 +00:00
2026-06-01 20:48:05 +00:00
2026-02-19 18:57:49 +01:00
2026-05-29 16:28:27 +00:00
2026-06-02 12:03:05 +00:00
2026-05-27 16:08:52 +00:00
2026-04-02 17:06:57 -03:00
2026-04-02 17:06:57 -03:00
2026-05-13 11:34:50 +00:00
2026-03-03 08:37:58 +00:00
2026-05-28 20:19:17 +00:00
2026-05-28 20:19:17 +00:00