Chris Lu
746ed82662
remote.meta.sync: sync directories and remove files deleted from remote ( #10184 )
...
* remote.meta.sync: materialize directory entries, including empty ones
Pull metadata by walking the remote tree one directory level at a time
with a delimiter, so subdirectories, including empty ones, are listed as
their own entries and created locally. The previous flat listing only
returned files, so empty remote directories never appeared locally and
non-empty ones only existed as filer-synthesized parents.
* remote.meta.sync: remove local metadata for entries deleted from remote
After reconciling each directory, drop local entries whose remote source
is gone: files are deleted outright, and a directory removed from the
remote is descended into so its remote-backed children are cleaned while
local-only entries are kept. remote.meta.sync exposes -delete (default
on) and remote.mount.buckets reconciles the same way; a plain
remote.mount stays additive.
* remote.meta.sync: reconcile type swaps and prune emptied directories
- when the remote swaps an entry's type (file <-> directory), drop the
stale local entry and recreate it with the right type; local-only
entries are left alone
- mark synced directories remote-backed and clean a directory removed
from the remote locally, deleting it once it holds no local-only
entries, instead of re-listing the missing remote path
- treat a differing remote size or mtime, not only a newer mtime, as a
change worth pulling
2026-07-01 12:14:19 -07:00
..
2026-06-01 15:11:02 -07:00
2026-01-07 13:06:08 -08:00
2026-01-07 13:06:08 -08:00
2026-01-07 13:06:08 -08:00
2026-01-07 13:06:08 -08:00
2026-01-07 13:06:08 -08:00
2026-01-07 13:06:08 -08:00
2026-05-20 23:31:21 -07:00
2026-05-20 23:31:21 -07:00
2025-11-09 19:58:38 -08:00
2026-04-21 20:17:42 -07:00
2026-04-21 20:17:42 -07:00
2026-06-10 22:31:18 -07:00
2026-06-30 20:01:55 -07:00
2026-06-30 20:01:55 -07:00
2026-06-01 19:25:15 -07:00
2026-06-22 11:23:23 -07:00
2026-06-22 01:22:20 -07:00
2026-06-22 01:22:20 -07:00
2026-06-24 08:40:29 -07:00
2026-06-25 10:38:14 -07:00
2026-06-30 23:20:50 -07:00
2026-06-30 15:35:27 -07:00
2025-10-24 20:21:35 -07:00
2025-10-24 20:21:35 -07:00
2026-05-07 17:45:04 -07:00
2026-04-17 21:09:36 -07:00
2026-04-17 21:09:36 -07:00
2025-10-24 20:21:35 -07:00
2026-01-07 13:06:08 -08:00
2025-10-24 20:21:35 -07:00
2026-06-30 13:28:53 -07:00
2026-06-30 13:28:53 -07:00
2025-10-24 20:21:35 -07:00
2026-04-28 12:30:13 -07:00
2026-04-28 12:30:13 -07:00
2026-01-14 21:37:50 -08:00
2026-06-01 09:54:22 -07:00
2025-10-24 20:21:35 -07:00
2026-06-08 23:42:13 -07:00
2026-06-08 23:42:13 -07:00
2025-10-24 20:21:35 -07:00
2025-10-24 20:21:35 -07:00
2025-10-24 20:21:35 -07:00
2026-06-19 09:09:01 -07:00
2026-01-07 13:06:08 -08:00
2025-10-17 22:11:50 -07:00
2026-01-07 13:06:08 -08:00
2025-10-13 18:05:17 -07:00
2026-05-12 12:37:09 -07:00
2026-01-07 13:06:08 -08:00
2026-01-07 13:06:08 -08:00
2025-09-09 01:01:03 -07:00
2026-06-08 13:55:53 -07:00
2026-05-07 17:45:04 -07:00
2026-03-11 12:55:45 -07:00
2026-07-01 12:14:19 -07:00
2026-07-01 12:14:19 -07:00
2026-07-01 12:14:19 -07:00
2026-02-05 12:57:27 -08:00
2026-02-05 12:57:27 -08:00
2026-01-07 13:06:08 -08:00
2026-05-18 13:42:32 -07:00
2026-05-18 13:42:32 -07:00
2026-05-18 13:42:32 -07:00
2026-05-18 13:42:32 -07:00
2026-05-18 13:42:32 -07:00
2026-05-18 13:42:32 -07:00
2026-05-18 13:42:32 -07:00
2026-03-25 23:09:53 -07:00
2026-05-18 13:42:32 -07:00
2026-01-27 10:50:16 -08:00
2025-12-13 13:41:25 -08:00
2026-06-06 11:20:15 -07:00
2025-12-12 18:06:13 -08:00
2026-01-27 10:50:16 -08:00
2025-12-12 18:06:13 -08:00
2026-06-01 13:11:18 -07:00
2025-07-16 23:39:27 -07:00
2026-02-26 11:56:10 -08:00
2026-05-07 17:45:04 -07:00
2025-07-16 23:39:27 -07:00
2026-05-18 13:42:32 -07:00
2026-05-18 13:42:32 -07:00
2026-05-18 13:42:32 -07:00
2026-05-18 13:42:32 -07:00
2026-05-18 13:42:32 -07:00
2026-05-18 13:42:32 -07:00
2026-05-18 13:42:32 -07:00
2026-05-18 13:42:32 -07:00
2026-06-24 19:36:42 -07:00
2026-05-18 13:42:32 -07:00
2026-05-18 13:42:32 -07:00
2026-05-12 18:29:18 -07:00
2026-05-13 00:19:05 -07:00
2026-05-18 13:42:32 -07:00
2026-05-18 13:42:32 -07:00
2026-05-18 13:42:32 -07:00
2026-05-18 13:42:32 -07:00
2026-05-18 13:42:32 -07:00
2026-05-18 13:42:32 -07:00
2026-05-18 13:42:32 -07:00
2026-05-18 13:42:32 -07:00
2026-05-18 13:42:32 -07:00
2026-05-18 13:42:32 -07:00
2026-05-18 13:42:32 -07:00
2026-05-18 13:42:32 -07:00
2026-05-18 13:42:32 -07:00
2026-05-18 13:42:32 -07:00
2026-05-13 10:48:58 -07:00
2026-04-28 12:30:13 -07:00
2026-01-30 22:57:05 -08:00
2026-04-28 12:30:13 -07:00
2026-01-30 22:57:05 -08:00
2026-03-03 15:10:40 -08:00
2026-06-30 19:31:12 -07:00
2026-06-30 21:26:57 -07:00
2026-06-13 20:05:33 -07:00
2026-06-13 20:05:33 -07:00
2026-01-16 12:31:48 -08:00
2026-02-24 20:07:26 -08:00
2026-06-29 12:43:19 -07:00
2026-06-29 12:43:19 -07:00
2026-05-06 15:19:43 -07:00
2026-06-26 00:48:29 -07:00
2026-06-13 20:05:33 -07:00
2026-06-30 20:02:23 -07:00
2026-06-24 19:36:42 -07:00
2026-01-07 13:06:08 -08:00
2026-06-29 11:31:45 -07:00
2026-06-29 12:43:19 -07:00
2026-06-23 11:27:43 -07:00
2026-06-23 11:27:43 -07:00
2026-05-28 19:29:25 -07:00
2026-05-28 19:29:25 -07:00
2026-01-07 13:06:08 -08:00
2026-05-06 15:19:43 -07:00
2026-06-10 13:29:07 -07:00
2026-05-20 10:27:00 -07:00
2025-11-09 19:58:38 -08:00
2026-02-11 11:02:37 -08:00
2026-03-20 23:52:12 -07:00
2026-06-13 20:09:00 -07:00
2026-06-13 20:09:00 -07:00
2026-06-11 10:46:34 -07:00
2026-06-13 20:09:00 -07:00
2026-05-06 15:19:43 -07:00
2026-01-07 13:06:08 -08:00
2024-09-29 10:38:22 -07:00
2024-09-29 10:38:22 -07:00
2026-04-20 15:32:31 -07:00
2026-04-07 14:10:15 -07:00
2026-05-21 02:16:28 -07:00
2025-12-15 11:18:45 -08:00
2026-01-16 12:31:48 -08:00
2026-04-03 16:04:27 -07:00
2026-01-06 00:09:52 -08:00
2026-06-14 13:55:36 -07:00
2026-04-08 13:07:15 -07:00
2025-12-15 11:18:45 -08:00
2025-12-15 11:18:45 -08:00
2025-12-15 11:18:45 -08:00